当前位置: 首页 > news >正文

[工具]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字符串中的字段名称保持了一直。

转载于:https://www.cnblogs.com/wolf-sun/p/5767718.html

相关文章:

  • 数据请求一个数组,向数组里push新增内容
  • iOS - MVP 架构模式
  • <component :is=“动态组件“></component>
  • 大数据解决方案如何满足零售行业进销存数据的实时性存储与更新
  • react项目中实现打印预览功能
  • easyUI loyout tabs自适应宽度
  • react封装一个打印功能
  • 在linux环境下编译C++ 程序
  • react项目中,在tab列表上展示某个字段以 数组形式 展示
  • Spark Streaming官方文档学习--下
  • Vue 判断两个时间选择框的校验element 。开始时间不能大于结束时间
  • 为什么不能访问django自带的索引页
  • SSIS 数据类型和类型转换
  • Vue,列表展示。多个字段拼接展示
  • Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇
  • 《Java编程思想》读书笔记-对象导论
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Laravel 实践之路: 数据库迁移与数据填充
  • leetcode46 Permutation 排列组合
  • Linux中的硬链接与软链接
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Python实现BT种子转化为磁力链接【实战】
  • react-native 安卓真机环境搭建
  • React中的“虫洞”——Context
  • spark本地环境的搭建到运行第一个spark程序
  • SpingCloudBus整合RabbitMQ
  • 服务器从安装到部署全过程(二)
  • 机器学习 vs. 深度学习
  • 跨域
  • 嵌入式文件系统
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 物联网链路协议
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​ubuntu下安装kvm虚拟机
  • $.ajax中的eval及dataType
  • (分布式缓存)Redis分片集群
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (六)软件测试分工
  • (四) 虚拟摄像头vivi体验
  • (原創) 未来三学期想要修的课 (日記)
  • (转)socket Aio demo
  • **PHP二维数组遍历时同时赋值
  • ./configure,make,make install的作用
  • .Net Redis的秒杀Dome和异步执行
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @EventListener注解使用说明
  • @TableLogic注解说明,以及对增删改查的影响
  • [ActionScript][AS3]小小笔记
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [JavaWeb学习] tomcat简介、安装及项目部署