【发布时间】:2016-04-29 14:18:01
【问题描述】:
我正在努力解决有线 JSON 问题。我正在使用 ASP C# 并有一个视图将 JS-Array 发送到控制器操作。
这是 JSON 数据的结构。
public class MapData
{
public List<Point> Points { get; set; }
}
public class Point
{
public string lat { get; set; }
public string lng { get; set; }
}
这是我用来生成 JSON 数组的例程:出于测试目的,它不会生成有效的 MapData。
$("#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");
});
})
这是控制器动作
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);
}
奇怪的是:当我在发送数据之前对数据进行字符串化时,它看起来像这样:
"{"Points":[{"lat":"asdf1","lng":"asdf1"},{"lat":"asdf2","lng":"asdf2"}]}"
当我对它进行字符串化时,从 Controller 返回的数据看起来完全一样:为什么 C# 不能解析 Point 数据?点数据量是对的,如下图所示:
如果有一些建议指出我没有发现的错误,我会很高兴
【问题讨论】:
-
你的
Point类是什么样的? -
刚刚注意到了。谢谢。