Swift51.com
麦子学院 头像
麦子学院  2016-09-12 18:57

实例详解json转类

回复:0  查看:2727  

这周在园子看到一篇介绍JsonCSharpClassGenerator这个工具的文章,感觉挺实用的,在现在项目中json用的是最多的,所以在转换对应的类的时候,确实挺频繁,所以就研究了一下这个工具,确实很好用。这里写下这个json教程,以后也方便去查找。


JSON C# Class Generator

这是一个开源的项目,项目地址: JSON C# Class Generator

下载之后解压,如下图所示

实例详解json转类


支持将json转为下面三种语言

实例详解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转类


生成的类文件

实例详解json转类


实例详解json转类


实例详解json转类


确实很方便。里边使用Json.Ne的JsonProperty特性t为属性使用序列化时候的使用别名。跟原来的json字符串中的字段名称保持了一直。



文章来自:博客园_Wolfy