【.NET开发福音】使用Visual Studio将JSON格式数据自动转化为对应的类

简介: 【.NET开发福音】使用Visual Studio将JSON格式数据自动转化为对应的类

前言:

  这段时间一直在做一个第三方平台的对接,对接第三方其实无非就是请求调用第三方的相关接口接收返回过来的相关参数。因此在这个过程中就会涉及大量的JSON响应参数或者请求参数转化为对应的实体类的情况,因为只有转化为对应的实体类我们才好进行相关的数据操作。那么问题来了,这样我们在遇到后很多JSON对象的情况下是不是要自己一个一个的去写对应类的属性那假如有二三十个那岂不是要疯了去,其实咱们强大的Visual Studio有一个强大的功能能够将JSON串自动转化为对应的类(真的是一个提高工作效率的好方法)。

一、首先进行Json格式化校验

http://www.bejson.com/  (推荐这个在线工具非常好用)

1336199-20210323000312399-490498672.png

{
    "metaData": {
        "defaultLang": "zh-CN",
        "name": "追逐时光者每日一秀",
        "categoryIds": ["214342106997653504", "214343889333583872"],
        "tagIds": ["215586040843403264", "212828639341903872"],
        "residentAGApp": "101144753",
        "sourceName": "追逐时光者出版社",
        "sellingMode": 2,
        "remarks": "你是最棒的",
        "availableFrom": "2019-01-01T08:00:00Z",
        "availableBefore": "2020-01-01T10:00:00Z",
        "autoStatusChange": [{
            "status": 0,
            "changeTime": "string"
        }],
        "eduappUsed": true,
        "eduappPurchased": true,
        "devProductId": "1001",
        "distNotifyUrl": "https://www.cnblogs.com/Can-daydayup/",
        "validityUnit": 5,
        "validityNum": 1,
        "includeLessons": true,
        "typeId": 1001,
        "teachers": ["212828639341903872"],
        "mediaType": 3,
        "needDelivery": true
    },
    "countryCodes": ["CN", "SG"]
}

二、复制JSON串,前往Visual Studio找到编辑=》选择性粘贴=》将JSON粘贴为类:

注意:首先根据自己的需求创建一个对应实体空白类

1336199-20210323000555921-568652774.png

三、JSON成功转化的实体类:

namespace Domain.Model
{
    public class Rootobject
    {
        public Metadata metaData { get; set; }
        public string[] countryCodes { get; set; }
    }
    public class Metadata
    {
        public string defaultLang { get; set; }
        public string name { get; set; }
        public string[] categoryIds { get; set; }
        public string[] tagIds { get; set; }
        public string residentAGApp { get; set; }
        public string sourceName { get; set; }
        public int sellingMode { get; set; }
        public string remarks { get; set; }
        public DateTime availableFrom { get; set; }
        public DateTime availableBefore { get; set; }
        public Autostatuschange[] autoStatusChange { get; set; }
        public bool eduappUsed { get; set; }
        public bool eduappPurchased { get; set; }
        public string devProductId { get; set; }
        public string distNotifyUrl { get; set; }
        public int validityUnit { get; set; }
        public int validityNum { get; set; }
        public bool includeLessons { get; set; }
        public int typeId { get; set; }
        public string[] teachers { get; set; }
        public int mediaType { get; set; }
        public bool needDelivery { get; set; }
    }
    public class Autostatuschange
    {
        public int status { get; set; }
        public string changeTime { get; set; }
    }
}
相关文章
|
19天前
|
SQL 小程序 API
如何运用C#.NET技术快速开发一套掌上医院系统?
本方案基于C#.NET技术快速构建掌上医院系统,结合模块化开发理念与医院信息化需求。核心功能涵盖用户端的预约挂号、在线问诊、报告查询等,以及管理端的排班管理和数据统计。采用.NET Core Web API与uni-app实现前后端分离,支持跨平台小程序开发。数据库选用SQL Server 2012,并通过读写分离与索引优化提升性能。部署方案包括Windows Server与负载均衡设计,确保高可用性。同时针对API差异、数据库老化及高并发等问题制定应对措施,保障系统稳定运行。推荐使用Postman、Redgate等工具辅助开发,提升效率与质量。
|
2月前
|
人工智能 芯片
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
|
4月前
|
Linux API C#
基于 .NET 开发的多功能流媒体管理控制平台
基于 .NET 开发的多功能流媒体管理控制平台
82 9
|
4月前
|
Web App开发 前端开发 调度
一款基于 .NET + Blazor 开发的智能访客管理系统
一款基于 .NET + Blazor 开发的智能访客管理系统
|
11月前
Visual Studio 2022 中VLD库如何安装
Visual Studio 2022 中VLD库如何安装
771 1
|
11月前
Visual Studio 2022 中VLD库如何安装
Visual Studio 2022 中VLD库如何安装
767 0
|
10月前
|
IDE 开发工具 C语言
Visual Studio 2017 安装及使用(新手)
Visual Studio 2017 安装及使用(新手)
1611 0
|
9月前
|
弹性计算 自然语言处理 Windows
通义灵码 Visual Studio 下载安装指南(附安装包)
本安装步骤适用于 Windows 10 及以上操作系统中安装和使用通义灵码。
133461 20
|
9月前
|
前端开发 JavaScript 开发工具
|
10月前
|
JSON 开发工具 C语言
编程入门(五)【Visual Studio Code安装与C/C++语言运行】
编程入门(五)【Visual Studio Code安装与C/C++语言运行】
834 0

热门文章

最新文章