c# - 从 ASP.NET Controller 返回动态 jsonobject

标签 c# asp.net json asp.net-mvc

我试图返回一个从 json 字符串反序列化的动态对象。在运行时,我不知道对象是什么样子的,所以我无法输入它。

我已经试过了:

var json = @"[{""clientNumber"":""3052394"",""accountStatus"":""Active""},{""clientNumber"":""1700630"",""accountStatus"":""Active""}]";
dynamic result = JsonConvert.DeserializeObject(json);
return Json(result, JsonRequestBehavior.AllowGet);

但是结果出来是这样的:

[[[[]],[[]]],[[[]],[[]]]]

我知道我可以做到:

var result = new{...};

但这行不通,因为我不知道对象在运行时是什么样子。

最佳答案

因此,MVC Controller 中的标准 Controller.Json 方法与动态类型的配合很奇怪。

正如您使用 JSON.NET 进行反序列化一样,您最好也使用 JSON.NET 进行序列化并返回字符串输出。

return Content(JsonConvert.SerializeObject(dynamicInstance), "application/json");

关于c# - 从 ASP.NET Controller 返回动态 jsonobject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35063636/

相关文章:

java - 当子属性具有尾随空值时 Jackson 反序列化中止

c# - 如何找到给定时间跨度的所有数据

C# DateTime求值问题

c# - 在控制台应用程序中使用 Async 和 await

asp.net - 使用 Identity Core 在 ASP.Net Core 2.1 中登录后立即添加重定向

asp.net - GridView 中需要两个标题行

c# - 使用 linq 查询和 lambda 表达式选择多列

php - 使用 php 对 Mysql 的 Ajax JQuery 请求不适用于 JSON

xml - 我们可以将 JsPlumb 流程图导出为 JSON 或 XML 吗?

c# - 如何绘制Windows经典风格的窗口元素