原文地址: https://www.jeremyjone.com/603/,转载请注明。
模型中为了统一命名,所以都是用首字母大写的格式。但是返回的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即可解决。

嗯,就像这样。
本文介绍了在.NET中如何进行模型名称转换,以匹配Json格式的大小写规范。通过使用特定的属性,可以在创建对象时指定Json键的名称,确保首字母小写的Json键与首字母大写的模型属性名相匹配。然而,从.NET Core 3.x开始,原有的属性可能不再适用,需要改用新的Json序列化配置来实现相同的功能。
766

被折叠的 条评论
为什么被折叠?



