C# · 12月 21, 2021

[工具]json转类

摘要<p style="margin-left: 30px;">这周在园子看到一篇介绍JsonCSharpClassGenerator这个工具的文章,感觉挺实用的,在现在项目中json用的是最多的,所以在转换对应的类的时候,确实挺频繁,所以就研究了一下这个工具,确实很好用。这里记录一下,以后也方便去查找。

JSON C# Class Generator<p style="margin-left: 30px;">这是一个开源的项目,项目地址:

<p style="margin-left: 30px;">下载之后解压,如下图所示

<p style="margin-left: 30px;">

<p style="margin-left: 30px;">支持将json转为下面三种语言

<p style="margin-left: 30px;">

<p style="margin-left: 30px;">Namespace:生成的类的命名空间。

<p style="margin-left: 30px;">Main Class Name:类文件名称。

<p style="margin-left: 30px;">Target Folder:类文件保存位置。

<p style="margin-left: 30px;">Language:支持生成的语言。

<p style="margin-left: 30px;">Secondary Class:二级类。

<p style="margin-left: 60px;">Use nested Class:使用嵌套类。

<p style="margin-left: 60px;">Use the same namespace:使用相同的命名空间。

<p style="margin-left: 60px;">Use the different namespace:使用不同的命名空间。

<p style="margin-left: 30px;">Member generator:成员生成。

<p style="margin-left: 60px;">Properties:属性。

<p style="margin-left: 60px;">Fields:字段。

<p style="margin-left: 30px;">Visibility:访问限制。

<p style="margin-left: 60px;">Internal:内部类。

<p style="margin-left: 60px;">Public:公共类。

<p style="margin-left: 30px;">Convert to PascalCase:转换为pascalcase命名格式。

<p style="margin-left: 30px;">一个例子

<p style="margin-left: 30px;">有下面的一个班级的json字符串

: : : : : : <p style="margin-left: 30px;">班级中对应一个学生数组。大概猜测对应的类应该是这样的。

List<p style="margin-left: 30px;">我们验证一下

<p style="margin-left: 30px;">

<p style="margin-left: 30px;">生成的类文件

<p style="margin-left: 30px;">

<p style="margin-left: 30px;">

<p style="margin-left: 30px;">

<p style="margin-left: 30px;">确实很方便。里边使用Json.Ne的JsonProperty特性t为属性使用序列化时候的使用别名。跟原来的json字符串中的字段名称保持了一直。