【.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; }
    }
}
相关文章
|
4月前
|
JSON API 数据格式
淘宝拍立淘按图搜索API系列,json数据返回
淘宝拍立淘按图搜索API系列通过图像识别技术实现商品搜索功能,调用后返回的JSON数据包含商品标题、图片链接、价格、销量、相似度评分等核心字段,支持分页和详细商品信息展示。以下是该API接口返回的JSON数据示例及详细解析:
|
4月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
4月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
4月前
|
JSON 中间件 Java
【GoGin】(3)Gin的数据渲染和中间件的使用:数据渲染、返回JSON、浅.JSON()源码、中间件、Next()方法
我们在正常注册中间件时,会打断原有的运行流程,但是你可以在中间件函数内部添加Next()方法,这样可以让原有的运行流程继续执行,当原有的运行流程结束后再回来执行中间件内部的内容。​ c.Writer.WriteHeaderNow()还会写入文本流中。可以看到使用next后,正常执行流程中并没有获得到中间件设置的值。接口还提供了一个可以修改ContentType的方法。判断了传入的状态码是否符合正确的状态码,并返回。在内部封装时,只是标注了不同的render类型。再看一下其他返回的类型;
232 3
|
4月前
|
JSON Java Go
【GoGin】(2)数据解析和绑定:结构体分析,包括JSON解析、form解析、URL解析,区分绑定的Bind方法
bind或bindXXX函数(后文中我们统一都叫bind函数)的作用就是将,以方便后续业务逻辑的处理。
329 3
|
5月前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
5月前
|
JSON 自然语言处理 监控
淘宝关键词搜索与商品详情API接口(JSON数据返回)
通过商品ID(num_iid)获取商品全量信息,包括SKU规格、库存、促销活动、卖家信息、详情页HTML等。
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
474 5
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
490 0
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
273 7

热门文章

最新文章