asp.net – 如何在MVC4 Web API中自定义JSON序列化名称?

前端之家收集整理的这篇文章主要介绍了asp.net – 如何在MVC4 Web API中自定义JSON序列化名称?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在网上搜索了我的问题没有成功,所以我在这里发帖提问.

我正在使用MVC4 Web API向客户端提供JSON数据.因为C#使用Pascal命名约定,所以默认情况下客户端收到的JSON数据也是Pascal命名约定,如何自定义它以返回JSON中的camel命名约定?

另一个问题是如何更改序列化名称?例如,在C#中我有一个名为“Description”的属性,但为了减少数据大小,我想在JSON中将其序列化为“descr”,如何实现这一目标?

解决方法

我知道这是一个老帖子,但我认为值得添加对Json.Net的引用:

API Reference

Nuget Page

您可以使用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"
}"
原文链接:https://www.f2er.com/aspnet/246839.html

猜你在找的asp.Net相关文章