加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 23:07:18 所属栏目:asp.Net 来源:网络整理
导读:我在网上搜索了我的问题没有成功,所以我在这里发帖提问. 我正在使用MVC4 Web API向客户端提供JSON数据.因为C#使用Pascal命名约定,所以默认情况下客户端收到的JSON数据也是Pascal命名约定,如何自定义它以返回JSON中的camel命名约定? 另一个问题是如何更改序
我在网上搜索了我的问题没有成功,所以我在这里发帖提问.

我正在使用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"
}"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读