重命名Json对象fieldName
本文关键字:fieldName 对象 Json 重命名 | 更新日期: 2023-09-27 17:52:13
我使用MVC c#我有一个对象
public class Person
{
public int TypeId { get; set; }
public string Code { get; set; }
}
我有一个代码,返回JSON对象为这个对象,像这样
return Json(personCodeStore.GetBusinessCodes());
但是当我在客户端收到这个时,我希望能够从
重命名字段名TypeId to value
Code to text
我不想使用DataContractSerializer像MVC3 JSON序列化:如何控制属性名称?因为我用的是EF 5。每次我更新模型和。tt文件运行时,它都会覆盖我的更改,并且它还会在我不想要的所有视图上使用这个修改过的属性。
所以有一种方法,我可以重命名这个当我序列化它或一旦我得到客户端使用jquery?
您可以简单地使用LINQ并返回一个投影原始结果的匿名对象:
var businessCodes = personCodeStore.GetBusinessCodes();
return Json(businessCodes.Select(x => new
{
value = x.TypeId,
text = x.Code
}));
现在你会得到一些类似于:
的东西[
{ "value": 1, text = "text 1" },
{ "value": 2, text = "text 2" },
{ "value": 3, text = "text 3" }
...
]