本文介绍如何在C# .net中实现JSON解析。

由于应用场景只需要将JSON字符串展开,并提取部分对象,所以用到的方法不多;

第一步,安装 Newtonsoft.Json

在NuGet 包管理器中,搜索并安装 Newtonsoft.Json 库;

然后添加引用;

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

JSON解析

1、初步解析,用于打印完整的JSON字符串

有些JSON格式的字符串不包含控制字符"\t""\n",手动处理起来比较麻烦;

最好还是借助于json库函数,打印转出来的字符串,便于直观查看;

//json为输入的JSON格式的字符串
JObject jsoned = JObject.Parse(json);
string json_str = jsoned.ToString();//json_str 就是得到的完全展开的字符串
//jsoned 则是得到的Json对象

2、解析K-Value

JSON解析的前提是要构建JSON 类;

参考如下;

//如下定义了JSON中2个子json对象的定义public class test_result
{public string cmd;public string module;public string rsq;
}public class InfoItem
{public string module;public string value;
}public class device_mac
{public string cmd;public string rsq;public List<InfoItem> info;
}...//receive_data 为输入的Json字符串
string receive_data = System.Text.Encoding.Default.GetString(bytes);//获取数组信息,并提取其中的key-value
device_mac list = JsonConvert.DeserializeObject<device_mac>(receive_data);
for (int i = 0; i < list.info.Count; i++)
{string type = list.info[i].module.ToString();string value = list.info[i].value.ToString();
}//获取key-value
//其中key标识测试类型,value标识测试成功或失败
test_result test_item = JsonConvert.DeserializeObject<test_result>(receive_data);
string test_type = test_item.module;
string result = test_item.rsq;

C# Newtonsoft.Json相关推荐

  1. Newtonsoft.Json文件错误

    今天,在一个项目中使用signalR,由于项目框架是.net 4.0,所以用signalR1.0版本,signalR使用需要newtonsoft.Json文件,它把原  newtonsoft.Json ...

  2. Newtonsoft.Json.dll 本地调用正常,服务器调用不正常

    Newtonsoft.Json.dll 本地调用正常,服务器调用不正常的问题 请将System.Runtime.Serialization.dll 传到服务器项目bin文件夹中即可 转载于:https ...

  3. Newtonsoft.Json code

    序列化 Product product = new Product(); product.ExpiryDate = new DateTime(2008, 12, 28);JsonSerializer ...

  4. 解决MVC Json序列化的循环引用问题/EF Json序列化循引用问题---Newtonsoft.Json

    1..Net开源Json序列化工具Newtonsoft.Json中提供了解决序列化的循环引用问题: 方式1:指定Json序列化配置为 ReferenceLoopHandling.Ignore 方式2: ...

  5. Newtonsoft.Json 概述

    有时候,在前后台数据交互或者APP与后台交互的时候,我们通常会使用Json进行数据交互,为此会使用到Newtonsoft.Json.dll 这个类库,这个类库非微软官方,但是下载量已经超过了数十万次, ...

  6. Newtonsoft.Json高级用法

    手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数 ...

  7. 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)...

    在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...

  8. Newtonsoft.Json的简单使用

    2019独角兽企业重金招聘Python工程师标准>>> 什么是Newtonsoft.Json Newtonsoft.Json,一款.NET中开源的Json序列化和反序列化类库. Ne ...

  9. [C#][Newtonsoft.Json] Newtonsoft.Json 序列化时的一些其它用法

    Newtonsoft.Json 序列化时的一些其它用法 在进行序列化时我们一般会选择使用匿名类型 new { },或者添加一个新类(包含想输出的所有字段).但不可避免的会出现以下情形:如属性值隐藏(敏 ...

  10. Newtonsoft.Json(Json.net)的基本用法

    Newtonsoft.Json(Json.net)的基本用法 添加引用: 使用NuGet,命令:install-package Newtonsoft.Json 实体类: public class Bo ...

最新文章

  1. 循环神经网络(RNN、LSTM、GRU)
  2. Android开发究竟该如何学习,重难点整理
  3. Q+ Web 改版设计小结
  4. java中extends ,implements的顺序问题
  5. 网站制作之按钮onclick大全
  6. 【放置奇兵】天六水晶和心三水晶(宝石、心灵水晶)
  7. Linux练习(write写入)
  8. 架构师技术文档:Redis+Nginx+Dubbo+Spring+架构师精选视频
  9. 内存回收算法与 Hot Spot 算法实现细节
  10. 即时通讯安全问题大曝光
  11. android 来电拒接_[系统漏洞]模拟耳机广播实现来电自动接听和拒接
  12. 布丰投针试验的仿真和误差估计
  13. ie浏览器服务器无响应怎么办,ie浏览器无响应怎么办
  14. 人心就像内存_-Chaz-_新浪博客
  15. Libata错误信息解析
  16. 计算机骂人的专业术语,台湾网友分享“如何用本专业术语骂人不带脏字”
  17. HDU 1863 (图论基础prim算法)
  18. Weka package manager 出错的解决办法
  19. jquery 常用选择器和方法以及遍历(超详细)
  20. citespace三天写论文!Bicomb操作实战

热门文章

  1. The Google File System 译文
  2. 2/3/4/5G、NB、Cat.1网络对比
  3. Minecraft 1.18.1、1.18.2模组开发 17.自定义盾牌(shield)
  4. java展示树形结构的两种方式
  5. android自定义照相机改变焦距,Android Camera变焦编程步骤
  6. Numpy库基础知识与常用方法
  7. 【jenkins】Synopsys Detect入门简介
  8. USB Full-Speed 控制传输
  9. python基础教程Day06
  10. Element Table 反选