[工具]json转类

摘要

这周在园子看到一篇介绍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字符串中的字段名称保持了一直。

时间: 2024-12-30 18:58:42

[工具]json转类的相关文章

Json与类对象转换

Json在js,jquery中可以直接使用,比如下串: { "from":"en" ,"to":"zh" ,"trans_result": [ {"src":"today","dst":"\u4eca\u5929"} ] } 可以直接使用data.from即可获取到"en". 但是在c#中不可以.要获取值,有

基于MVC+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据

近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重构完善过程中,很多细节花费不少时间进行研究和提炼,一步步走过来,也积累了不少经验,本系列将主要介绍我在进一步完善我的Web框架基础上积累的经验进行分享,本随笔主要介绍使用如何使用Json实体类构建菜单数据,然后在主界面中进行使用. 菜单的界面效果如下所示,菜单分为一级菜单.二级菜单.三级菜单,他们各自

基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据

最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重构完善过程中,很多细节花费不少时间进行研究和提炼,一步步走过来,也积累了不少经验,本系列将主要介绍我在进一步完善我的Web框架基础上积累的经验进行分享,本随笔主要介绍使用如何使用Json实体类构建菜单数据,然后在主界面中进行使用. 菜单的界面效果如下所示,菜单分为一级菜单.二级菜单.三级菜单,他们各

简易高重用的jdbcutils工具封装实现类以及简易连接池实现

由于现在发现做个小项目都是导入n多的依赖包,很烦琐,只想快点开发完一个个的小需求项目,这个时候真心不想用框架,只能自己写个jdbcutils,虽然网上有很多有apache的,阿里的,但是感觉用过后都不怎么顺手,然后自己花了点时间写个新的,不喜勿喷 1.我们要写个resultset集合转成bean的回调接口,这个用过spring jdbc的人都知道这玩意 package org.framework.mvc.jdbc.bean; import java.sql.ResultSet; import j

公共的Json操作类

using System; using System.Data; using System.Text; using System.Collections.Generic; using System.Reflection; using System.Data.Common; using System.Collections; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.IO; usi

Json帮助类以及如何使用

首先要添加引用System.Runtime.Serialization.public class JSONHelper { public static string Serialize<T>(T obj) { System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.G

C# JSON帮助类

using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Reflection; using System.Collections; using System.Data.Common; using System.Web.Script.Serialization; namespace BO.JSON { //JSON转换类 public class Conve

JSON帮助类

using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Runtime.Seria

C# json帮助类,JsonHelper

/// <summary> /// json帮助类 /// </summary> public class JsonHelper { public JsonHelper() { // //TODO: 在此处添加构造函数逻辑 // } public static string DataTableToJSON(DataSet dt, string dtName) { StringBuilder sb = new StringBuilder(); StringWriter sw = ne