将IEnumerable <t>转换为JSON对象</t>

时间:2012-05-28 10:39:12

标签: c# json serialization json.net generic-list

使用JSON.NET,我可以将通用列表序列化为JSON字符串:

 return Json(new { success = true, data = JsonConvert.SerializeObject(units) });

但是如何将通用列表序列化为JSON对象。这样做的好处是我在客户端不需要这个:

var jsonData = $.parseJSON(units);

2 个答案:

答案 0 :(得分:3)

不要序列化对象的一部分,序列化整个对象:

return Content(JsonConvert.SerializeObject(new { success = true, data = units }), "text/javascript");

内置的Json方法是硬编码的,用于返回使用内置(有限).NET JavaScript序列化程序的结果。如果你想获得一些易于使用的东西,可以将你自己的“Json”方法添加到你的基本控制器类中,它与Json.NET做同样的事情。

答案 1 :(得分:1)

结帐this link
我个人使用json2.js和JSON.parse / stringify来将cnovert字符串转换为ojbects,反之亦然

p.s它在客户端完成,但它只是另一行代码添加