我试图返回一个从 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/