每当我尝试使用JsonConvert.SerializeObject序列化对象时,它会添加一个默认数组名称为" d"
json = JsonConvert.SerializeObject(new
{
resultsets = new List<Result>()
{
new Result { id = 1, value = "ABC", info = "ABC" },
new Result { id = 2, value = "JKL", info = "JKL" },
new Result { id = 3, value = "GSG", info = "DYU" }
}
});
return json;
Json的回应是
{
"d": "{"resultsets":[{"id":1,"value":"ABC","info":"ABC"},{"id":2,"value":"JKL","info":"JKL"},{"id":3,"value":"GSG","info":"DYU"}]}"
}
其中添加名为&#34; d&#34;
的额外数组我想要简单的数组如下
{"resultsets":[{"id":1,"value":"ABC","info":"ABC"},{"id":2,"value":"JKL","info":"JKL"},{"id":3,"value":"GSG","info":"DYU"}]}
答案 0 :(得分:1)
这是为了防止直接执行脚本:
假设您正在返回一个普通数组。以下不是有效的JS语句:
{"d": [1]}
而这是:
[1]
您可以在此处找到更多信息:
http://encosia.com/a-breaking-change-between-versions-of-aspnet-ajax/#comment-34045