源码地址:点击跳转

安装 Newtonsoft.Json,在NuGet 里直接搜索 Newtonsoft.Json

下面介绍基本的几个使用方法

1.C# 使用newtonsoft.json创建JSON对象

JObject staff = new JObject();
staff.Add(new JProperty("Name", "Jack"));
staff.Add(new JProperty("Age", 33));
staff.Add(new JProperty("Department", "Personnel Department"));
staff.Add(new JProperty("Leader", new JObject(new JProperty("Name", "Tom"), new JProperty("Age", 44), new JProperty("Department", "Personnel Department"))));
Console.WriteLine(staff.ToString());

2.C# 使用newtonsoft.json创建JSON数组

// 创建数组
JArray array = new JArray();
array.Add(new JValue("吃饭"));
array.Add(new JValue("睡觉"));
obj.Add("Favorites", array);
obj.Add("Remark", null);Console.WriteLine(array.ToString());

上面代码可以简化成:

JArray array = new JArray("吃饭", "睡觉");

3.C# 使用Linq to JSON查询

string json = "{\"Name\" : \"Jack\", \"Age\" : 34, \"Colleagues\" : [{\"Name\" : \"Tom\" , \"Age\":44},{\"Name\" : \"Abel\",\"Age\":29}] }";
//将json转换为JObject
JObject jObj = JObject.Parse(json);//通过属性名或者索引来访问,仅仅是自己的属性名,而不是所有的
JToken ageToken =  jObj["Age"];
Console.WriteLine(ageToken.ToString());

4.序列化

public class Student
{public int ID { get; set; }public string Name { get; set; }
}Student stu = new Student();
stu.ID = "1";
stu.Name = "ss";
//序列化为JSON
string json1 = JsonConvert.SerializeObject(stu);

5.反序列化

将json字符串反序列化成一个类的实例

public class Student
{public int ID { get; set; }public string Name { get; set; }
}Student stu = new Student();
Student stu1 = JsonConvert.DeserializeObject<Student>(json1);

反序列化为JObject

string json = "{\"ID\":1,\"Name\":\"张三\",\"Favorites\":[\"吃饭\",\"睡觉\"]}";JObject obj = JObject.Parse(json);

6.常用工具

在上面的json代码中都带有 “\” 字符,这个叫转义字符,一般直接写在代码中的json如果没有转义,会报错的,在这里给大家介绍一些Json相关的小工具。

1)常用工具

JSON在线 | JSON解析格式化—SO JSON在线工具

在这个网站中,可以判断 json 是否出错

转义,就是在 json 中加入 “\”,这个在变量的定义时,会用到

去转义,就是去掉 json 中的 “\”

压缩,是将自动对齐的 json 变为一行,并去掉空格,使字符串的字节数变小

另外,推荐一个网站,可以将 json 转换为实体类

2)Json 转换为实体类

JSON转C#实体类-BeJSON.com

输入json 就可以转换成对于的字段了,在我们做反序列化时,非常好用,不过,过于复杂的json,转换还是有点问题的,需要自己手动修改一下。

end

C# Newtonsoft.Json用法相关推荐

  1. Newtonsoft.Json高级用法

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

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

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

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

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

  4. [转]Newtonsoft.Json高级用法

    本文转自:http://www.cnblogs.com/yanweidie/p/4605212.html 手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多 ...

  5. Newtonsoft.Json取json字符串中的值得用法 这里是取的时候

    Newtonsoft.Json取json字符串中的值得用法 看红色的部分就可以了 http://www.cnblogs.com/fierceeagle/p/3545615.html <%@ We ...

  6. C# Newtonsoft.Json 高级用法

    Newtonsoft.Json介绍: 做Web开发的,没有接触过JavaScript的肯定很少,做前端开发,没有接触过Ajax的估计更不多了.现在的系统大多数是分布式系统,分布式系统就会涉及到数据的传 ...

  7. Newtonsoft.Json取json字符串中的值得用法

    <%@ WebHandler Language="C#" class="AddShopOnly" %>using System; using Sys ...

  8. c#: Newtonsoft.Json 高级用法一(不创建类,动态解析和构造json、JObject/JArray)

    环境: .net core3.1 vs2019 Newtonsoft.Json 12.0.3 关于newtonsoft.json的使用常见问题参考: <c#:序列化json常见问题及处理方法&g ...

  9. C# Newtonsoft.Json JsonSerializerSettings 全局序列化设置

    Newtonsoft.Json.JsonSerializerSettings setting = new Newtonsoft.Json.JsonSerializerSettings(); JsonC ...

  10. Newtonsoft.Json 的序列化与反序列化

    首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化. 创建 ...

最新文章

  1. 元素 “aop:aspectj-autoproxy” 的前缀 “aop” 未绑定
  2. 子矩阵(暴搜(全排列)+DP)
  3. python面向对象和面向过程的区别_Python11-01_面向对象----面向对象和面向过程的区别...
  4. 成功解决Python中导出图片出现错误SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position
  5. 视频会说话:神策智能运营,让你半小时搞定一次活动!
  6. [PHP] 用JSON 传输图片源码
  7. Objective-C MacOS以管理员权限运行程序
  8. Linux命令-磁盘管理(二)
  9. phpexcel 导出循环增加列数_基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (补充篇)...
  10. JAVA程序员面试总结,高手整整理加强版
  11. 编辑距离(信息学奥赛一本通-T1276)
  12. 用pyqt5做一个能python程序能插入图片的ide
  13. 性能测试篇 :Jmeter HTTP代理服务器录制压力脚本
  14. Azure: 给 ubuntu 虚机挂载数据盘
  15. 解决Eclipse10配置Pydev不成功的问题
  16. informix数据库维护常用命令
  17. HDMI之DDC通道
  18. 从辉煌走向消亡(下)——小型机之王DEC公司
  19. 人生性格分析02-60干支日
  20. windows2008R2新增磁盘处于脱机状态及介质写入受保护解决办法

热门文章

  1. linux 查看设备 usb设备驱动程序,Linux USB设备驱动程序未被探测
  2. 10分钟掌握运输问题(一)
  3. Opencv之Meanshift和Camshift
  4. JAVA-反射面试题及答案
  5. asp.net生成店铺推广二维码,二维码中间加logo(源码)
  6. 把图片url 伪静态 php,php使动态URL标签链接转成伪静态
  7. 物联网老年人健康管理系统源码
  8. 比较3个购书网站,china-pub,dangdang,joyo(amazon)
  9. 微信小程序 java后勤服务管理系统app
  10. java URl 匹配器