模型中为了统一命名,所以都是用首字母大写的格式。但是返回的Json格式统一都为小写格式。所以就需要用到.NET提供的一个强大且好用的声明属性:JsonProperty
,这样,就可以很方便的转换我们需要使用的名字。
public class Model1
{
[JsonProperty("id")]
public int Id { get; set; }
[JsonProperty("key")]
public string Key { get; set; }
[JsonProperty("value")]
public string Value { get; set; }
}
这样在模型上面添加希望的名字之后,在返回的模型对象中,其Json的key就是对应额上面定义的小写字符串了。
使用该属性需要在头文件引入Newtonsoft.Json
,是一个JsonPropertyAttribute
类,继承自Attribute
,它是.NET封装好的一个属性类,其功能是:在创建一个新的实例对象时,可以将实例中的名字指定为某一个字符串。
*** 2020.4.27更新
.net core 3.x之后,好像上面这个属性已经不好用了,如果使用的话需要重新配置。3.x开始所有的json使用System.Text.Json
来管理,所以使用它里面的属性JsonPropertyName
即可解决。
嗯,就像这样。
文章评论