我在网上搜索了我的问题没有成功,所以我在这里发帖提问.
我正在使用MVC4 Web API向客户端提供JSON数据.因为C#使用Pascal命名约定,所以默认情况下客户端收到的JSON数据也是Pascal命名约定,如何自定义它以返回JSON中的camel命名约定?
另一个问题是如何更改序列化名称?例如,在C#中我有一个名为“Description”的属性,但为了减少数据大小,我想在JSON中将其序列化为“descr”,如何实现这一目标?
解决方法
我知道这是一个老帖子,但我认为值得添加对Json.Net的引用:
您可以使用JsonProperty属性设置每个属性将序列化的名称:
public class MyModel { [JsonProperty("myJsonProp")] public string MyJsonProperty { get; set; } }
用法:
//Serialize var json = Newtonsoft.Json.JsonConvert.SerializeObject(instanceOfMyModel); //De-serialize var deserialized = Newtonsoft.Json.JsonConvert.DeSerializeOject<MyModel>(json);
由此产生的Json:
"{ "myJsonProp" : "value" }"