Ich kämpfe um ein verdrahtetes JSON-Problem herum. Ich arbeite mit ASP C# und habe eine View, die ein JS-Array an eine Controller-Aktion sendet.C# erkennt JSON-Array nicht richtig
Hier ist die Struktur der JSON-Daten.
public class MapData
{
public List<Point> Points { get; set; }
}
public class Point
{
public string lat { get; set; }
public string lng { get; set; }
}
Hier ist die Routine Ich verwende den JSON-Array zu erzeugen: zu Testzwecken nicht gültig MapData erzeugt.
$("#pac-save").click(function() {
var mapPoints = {
Points: []
}
mapPoints.Points.push({
lat:"asdf1",
lng:"asdf1"
})
mapPoints.Points.push({
lat:"asdf2",
lng:"asdf2"
})
$.ajax({
url: "/Map/saveGeplanteRoute",
data:mapPoints
}).done(function (dd) {
alert("done");
}).fail(function() {
alert("error");
});
})
Hier ist der Controller Aktion
public JsonResult saveGeplanteRoute(MapData data)
{
var test = new MapData
{
Points = new List<Point>()
};
test.Points.Add(new Point() { lat = "asdf1", lng = "asdf1" });
test.Points.Add(new Point() { lat = "asdf2", lng = "asdf2" });
return Json(test);
}
Die seltsame Sache: Wenn ich die Daten stringify vor dem Absenden, es sieht wie folgt aus:
"{"Points":[{"lat":"asdf1","lng":"asdf1"},{"lat":"asdf2","lng":"asdf2"}]}"
Die Daten zurück von Controller-Looks kommen genau dasselbe, wenn ich es stringiere: Warum kann C# die Punktdaten nicht analysieren? Die Menge an Punktdaten ist richtig, wie Sie unten sehen können:
Ich werde auf einige Ratschläge freuen mich deutete auf einen Fehler, den ich nicht
Was macht Sie 'Point' Klasse Blick getan werden? –
Habe es gerade bemerkt. Vielen Dank. –