【.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; }
    }
}
相关文章
|
2月前
|
开发框架 .NET C#
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
|
1天前
|
JSON 数据格式
.net HTTP请求类封装
`HttpRequestHelper` 是一个用于简化 HTTP 请求的辅助类,支持发送 GET 和 POST 请求。它使用 `HttpClient` 发起请求,并通过 `Newtonsoft.Json` 处理 JSON 数据。示例展示了如何使用该类发送请求并处理响应。注意事项包括:简单的错误处理、需安装 `Newtonsoft.Json` 依赖,以及建议重用 `HttpClient` 实例以优化性能。
40 2
|
1天前
|
JSON 人工智能 算法
探索大型语言模型LLM推理全阶段的JSON格式输出限制方法
本篇文章详细讨论了如何确保大型语言模型(LLMs)输出结构化的JSON格式,这对于提高数据处理的自动化程度和系统的互操作性至关重要。
|
1月前
|
IDE 测试技术 开发工具
.NET开发者福音:JetBrains官方宣布 Rider 非商用免费开放!
.NET开发者福音:JetBrains官方宣布 Rider 非商用免费开放!
|
1月前
|
JSON JavaScript Java
对比JSON和Hessian2的序列化格式
通过以上对比分析,希望能够帮助开发者在不同场景下选择最适合的序列化格式,提高系统的整体性能和可维护性。
46 3
|
1月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
1月前
|
JSON Java 数据格式
springboot中表字段映射中设置JSON格式字段映射
springboot中表字段映射中设置JSON格式字段映射
140 1
|
1月前
|
JSON 人工智能 算法
探索LLM推理全阶段的JSON格式输出限制方法
文章详细讨论了如何确保大型语言模型(LLMs)输出结构化的JSON格式,这对于提高数据处理的自动化程度和系统的互操作性至关重要。
190 12
|
2月前
|
SQL XML 关系型数据库
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
47 2
|
1月前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释