[英]How to serialize IEnumerable of Anonymous Type in C# to JavaScript Object?
在我的 ASP.net C# 代码中,我有一个 IEnumerable 容器,其中填充了匿名类型的对象(它松散地基于来自 SQL 的数据)。
假设我的代码看起来像这样:
var uics = entities.getData()
.Select(x => new
{
id = x.id
name = x.name
age = x.age
});
return Json(uics); //Serialize JSON in ASP.net MVC 3
这很简单。 当我将其序列化为 JavaScript 时,我得到一个对象数组,每个对象都有字段 id、name 和 age。
我想做的是将此数据序列化为 JavaScript Object,其中 id 作为索引,每个 object 的索引引用的字段名称和年龄。
我怎样才能做到这一点。
您可以创建一个IDictionary
并将其用作操作的结果:
var uics = entities.getData()
.ToDictionary(x => x.id, x => new { x.name, x.age });
return Json(uics); //Serialize JSON in ASP.net MVC 3
无需为此处使用的匿名类型显式指定属性名称,因为编译器将这些名称默认为用于提供值的属性名称(在这两种情况下都是相同的)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.