2

我正在尝试将动态 json 数组返回到 mvc 中的客户端。

到目前为止我有

            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 转换为字符串并将其设置为没有格式化程序,但根据提琴手,这不会返回有效的 json。

我希望结果是这样的:

[{field1:10},{field2:11},{field3:12}]

谁能指出我做错了什么

4

1 回答 1

2

这在 Fiddler 中通过了集合:

return Json(new { JsonArray = jsonArray.ToString() });

Fiddler 似乎需要表单中的 JSON 对象{ "FieldName": value },因此我创建了一个匿名对象。您可以使用任何名称代替JsonArray.

简单地返回Json(jsonArray)是行不通的,因为jsonArray它的底层表示与你想要的输出不同,因此你在序列化它时看到的输出。

于 2012-11-27T00:35:04.940 回答