温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#怎么解析复杂的JSON格式接口数据

发布时间:2021-06-17 11:50:33 来源:亿速云 阅读:564 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关C#怎么解析复杂的JSON格式接口数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

提出问题

一般API接口都会有一个自己定义的标准的响应的数据格式,比如这位同学对接的API接口数据格式说明(如下图),从图中我们可以看到code节点和message节点是固定响应头,唯一变化的是data节点。那么大家有没有想到变化的类型在C#中我们可以用什么类型进行替代呢?答案想必大家都知道,那就是泛型T。

C#怎么解析复杂的JSON格式接口数据

分析问题

先来一个简单一点的JSON格式:

C#怎么解析复杂的JSON格式接口数据

再来稍微一点复杂的JSON格式

C#怎么解析复杂的JSON格式接口数据

如果接口字段少一点的话,我们还可以JSON节点通过手动进行Mapping映射为C#实体对象属性。那么如果接口字段比较多,数据类型比较复杂,而且层级嵌套比较深的话,有没有简单快速的方式进行自动化的方式自动生成Mapping映射我们想要的C#实体对象呢?答案:是肯定的!!!接下来阿笨将给大家推荐几种方式,敬请拭目以待。

解决问题

1)、在线json生成C#实体工具类,这里阿笨推荐下面两款

http://www.jsons.cn/jsontomodel/

http://www.bejson.com/convert/json2csharp

使用方式很简单,复制JSON格式字符串,直接点击生成C#实体对象类。

C#怎么解析复杂的JSON格式接口数据

2)、VS2019自动格式转换。

1、复制你要转换的JSON格式字符串。(记住一定要先复制自己想要转换的JSON格式字符串哦)

2、打开VS2019(其他低版本VS版本阿笨没测试,自己去试一下哦),找到【编辑】-【选择性粘贴】-【将JSON粘贴为类】

C#怎么解析复杂的JSON格式接口数据

所有的工具都不是万能的,转换后的格式需要自己验证一下是否合理哦。不过大家放心,大部分的JSON类型的字符串类型都可以做到一键生成。哈哈,有点类似代码生成器的感觉,太爽了。

唠叨了这么多,上干货

给大家写了几个示例DEMO,只要能够掌握这几个示例,以后解析任何复杂类型的JSON字符串都没有障碍了。

核心的一句话是:json字符串反序列化为C#对象,C#对象序列化为JSON字符串。

示例一:简单格式的JSO你字符串:

C#怎么解析复杂的JSON格式接口数据

示例二:稍微复杂一点的字符串

C#怎么解析复杂的JSON格式接口数据

示例三:Dictionary<string, object> 转JSON字符串

C#怎么解析复杂的JSON格式接口数据

示例四:数组[] 转JSON字符串

C#怎么解析复杂的JSON格式接口数据

示例五:集合转JSON数组

JSON代码:

{

"ids":[1,2,3]

}

对应的生成C#代码

public class OrderInfo

{

    public List<int> ids { get; set; }

}

C#怎么解析复杂的JSON格式接口数据

关于“C#怎么解析复杂的JSON格式接口数据”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI