摘要
这周在园子看到一篇介绍JsonCSharpClassGenerator这个工具的文章,感觉挺实用的,在现在项目中json用的是最多的,所以在转换对应的类的时候,确实挺频繁,所以就研究了一下这个工具,确实很好用。这里记录一下,以后也方便去查找。
JSON C# Class Generator
这是一个开源的项目,项目地址:JSON C# Class Generator
下载之后解压,如下图所示
支持将json转为下面三种语言
Namespace:生成的类的命名空间。
Main Class Name:类文件名称。
Target Folder:类文件保存位置。
Language:支持生成的语言。
Secondary Class:二级类。
Use nested Class:使用嵌套类。
Use the same namespace:使用相同的命名空间。
Use the different namespace:使用不同的命名空间。
Member generator:成员生成。
Properties:属性。
Fields:字段。
Visibility:访问限制。
Internal:内部类。
Public:公共类。
Convert to PascalCase:转换为pascalcase命名格式。
一个例子
有下面的一个班级的json字符串
{
"id": 1,
"name": "信管3班",
"students": [
{
"id": 1,
"name": "wolfy1"
},
{
"id": 1,
"name": "wolfy1"
},
{
"id": 1,
"name": "wolfy1"
},
{
"id": 1,
"name": "wolfy1"
},
{
"id": 1,
"name": "wolfy1"
},
{
"id": 1,
"name": "wolfy1"
}
]
}
班级中对应一个学生数组。大概猜测对应的类应该是这样的。
Class MyClass
{
public int id;
public string name;
public List<student> students;
}
我们验证一下
生成的类文件
确实很方便。里边使用Json.Ne的JsonProperty特性t为属性使用序列化时候的使用别名。跟原来的json字符串中的字段名称保持了一直。