前言
本次我们实现自定义键名映射功能,用户可以指定C#对象的属性和哪个Json键值对构成映射。
注意:示例代码使用了C#8.0的语法特性,如果要在你的机器上运行,请确保安装了.Net Core 3.x开发环境。
KeyAttribute特性
首先创建一个用于提示键名映射的特性:
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
public class KeyAttribute : Attribute
{
public string KeyName {
get; }
public KeyAttribute(string kname)
{
KeyName = kname;
}
}
KeyName属性表示的是Json中对应的键名,使用方法如下:
[Key("Horse")]
public string Deer {