json - mvc 将 JsonArray 返回为 Json

标签 json asp.net-mvc-4 json.net

我正在尝试在 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/

相关文章:

c# - ASP.NET MVC 4 HttpClient() 问题

c# - IAuthenticationResponse.GetExtension<ClaimsResponse>() 总是返回 null

c# - 在自定义 JsonConverter 的 ReadJson 方法中处理空对象

.net - NewtonSoft Json Assembly 版本问题

php - 构建 JavaScript 对象 PHP 循环时缺少字符

json - Spring mvc 与 @requestbody 的错误请求

c# - 如何将特定的 Json 节点反序列化为 Dictionary<string,object>?

python - 如何添加json库

c# - 如何处理 Multi-Tenancy ASP MVC 站点的路径设置

c# - 序列化时出现 JSON.NET StackOverflowException