您现在的位置是:首页 > Javascript
当前栏目
【.NET开发福音】使用Visual Studio将JSON格式数据自动转化为对应的类
2023-02-18 16:31:51 时间
前言:
这段时间一直在做一个第三方平台的对接,对接第三方其实无非就是请求调用第三方的相关接口接收返回过来的相关参数。因此在这个过程中就会涉及大量的JSON响应参数或者请求参数转化为对应的实体类的情况,因为只有转化为对应的实体类我们才好进行相关的数据操作。那么问题来了,这样我们在遇到后很多JSON对象的情况下是不是要自己一个一个的去写对应类的属性那假如有二三十个那岂不是要疯了去,其实咱们强大的Visual Studio有一个强大的功能能够将JSON串自动转化为对应的类(真的是一个提高工作效率的好方法)。
一、首先进行Json格式化校验
http://www.bejson.com/ (推荐这个在线工具非常好用)
{ "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粘贴为类:
注意:首先根据自己的需求创建一个对应实体空白类
三、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; } } }
相关文章
- 认识一下什么是JSP
- js日志输出还是只会console.log么,那你就out了
- Jackson精讲第7篇-类继承关系下的JSON序列化与反序列化JsonTypeInfo
- Jaskson精讲第6篇-自定义JsonSerialize与Deserialize实现数据类型转换
- @JsonCreator自定义反序列化函数-JSON框架Jackson精解第5篇
- Jackson精解第4篇-@JacksonInject与@JsonAlias注解
- 属性序列化自定义与字母表排序-JSON框架Jackson精解第3篇
- URL及日期等特殊数据格式处理-JSON框架Jackson精解第2篇
- JSON数据处理框架Jackson精解第一篇-序列化与反序列化核心用法
- 通过java程序(JSch)运行远程linux主机上的shell脚本
- JS/TS项目里的Module都是什么?
- 为啥JS/TS里都会有"use strict"
- api接口返回动态的json格式?我太难了,尝试一下 linq to json
- 教你如何解决JS/TS里特定String进行拆分然后遍历各个元素
- 对 JsonConvert 的认识太肤浅了,终于还是遇到了问题
- knockoutjs如何动态加载外部的file作为component中的template数据源
- 掌握这20个JS技巧,做一个不加班的前端人
- 如何在TypeScript/JavaScript项目里引入MD5校验和
- Javascript之旅——终点站:困惑的settimeout
- Javascript之旅——第十一站:原型也不好理解?