我正在尝试在 mvc 中将动态 json 数组返回到客户端。
到目前为止我已经
var a = 1;
var b = 10;
var jsonArray = new JArray();
for (var i = 1; i < 5; i++)
{
var json = new JObject();
json.Add("field" + a, b);
jsonArray.Add(json);
a++;
b++;
}
return Json(jsonArray);
这将返回给客户端
[[[[]]]]
我尝试先将 JsonArray 转换为字符串并将其设置为没有格式化程序,但这不会根据 fiddler 返回有效的 json。
我希望结果是这样的:
[{field1:10},{field2:11},{field3:12}]
谁能指出我做错了什么
最佳答案
这通过了 Fiddler 的测试:
return Json(new { JsonArray = jsonArray.ToString() });
Fiddler 似乎需要 { "FieldName": value }
形式的 JSON 对象,因此我创建了一个匿名对象。您可以使用任何名称来代替 JsonArray
。
简单地返回 Json(jsonArray)
是行不通的,因为 jsonArray
将具有与您所需的输出不同的底层表示,因此您看到的输出当你序列化它时。
关于json - mvc 将 JsonArray 返回为 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13562734/