c#添加Newtonsoft.Json包的操作
C#使用json
点击工具 - NuGet包管理器 - 程序包管理控制台,输入下面命令:
Install-Package Newtonsoft.Json
即可使用Newtonsoft.Json 包进行json操作
PM> Install-Package Newtonsoft.Json
正在尝试收集与目标为“.NETFramework,Version=v4.0”的项目“QiniuTests”有关的包“Newtonsoft.Json.11.0.2”的依赖项信息
收集依赖项信息花费时间 24.27 ms
正在尝试解析程序包“Newtonsoft.Json.11.0.2”的依赖项,DependencyBehavior 为“Lowest”
解析依赖项信息花费时间 0 ms
正在解析操作以安装程序包“Newtonsoft.Json.11.0.2”
已解析操作以安装程序包“Newtonsoft.Json.11.0.2”
从“nuget.org”检索包“Newtonsoft.Json 11.0.2”
GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/11.0.2/newtonsoft.json.11.0.2.nupkg OK https://api.nuget.org/v3-flatcontainer/newtonsoft.json/11.0.2/newtonsoft.json.11.0.2.nupkg 98 毫秒
正在安装 Newtonsoft.Json 11.0.2。
正在将程序包“Newtonsoft.Json.11.0.2”添加到文件夹“C:\Users\yfj\Desktop\qiniu\qiniu-sdk\csharp-sdk\src\packages”
已将程序包“Newtonsoft.Json.11.0.2”添加到文件夹“C:\Users\yfj\Desktop\qiniu\qiniu-sdk\csharp-sdk\src\packages”
已将程序包“Newtonsoft.Json.11.0.2”添加到“packages.config”
已将“Newtonsoft.Json 11.0.2”成功安装到 QiniuTests
执行 nuget 操作花费时间 3.39 sec
已用时间: 00:00:04.4618228
PM>
补充:【解决方案】C#使用Newtonsoft解析JSON字符串
在很多涉及到网络通讯的地方,往往会用到JSON,初次接触这个东西,真的很令人头痛。不过有了Newtonsoft,这一切就变得出奇地简单:
现在有下面一段JSON,如何解析呢?
{ "class": "apiClass", "cmd": "apiCommand", "param": { "param1": "param1", "param2": "param2" }, "jarray": [ { "arr1": "this is arr1" }, { "arr1": "this is arr2" } ] }
1、提取cmd的值
JObject jObject = JObject.Parse(JSON字符串); String cmd=jObject["cmd"].ToString();
是不是超级简单?
2、提取param1的值
JObject jObject = JObject.Parse(JSON字符串); String param1=jObject["param"]["param1"].ToString();
是不是一样超级简单?
3、提取数组中第一项arr1的值,index=1
JObject jObject = JObject.Parse(JSON字符串); String arr1=jObject["jarray"][1]["arr1"].ToString();
把数据中每一个都取出来一下
JObject jObject = JObject.Parse(JSON字符串); JArray jArray=JArray.Parse(jObject["jarray"].ToString()); foreach(var arr in jArray) { JObject jObj = JObject.Parse(arr.ToString()); String arr1=jObj["arr1"].ToString(); }
4、如果某个Key不存在,怎么办呢?
JObject jObject = JObject.Parse(JSON字符串); if (jObject.Property("我的Key") != null) { String 我的Key= jObject["我的Key"].ToString(); } else { //我的Key不存在 }
好啦,现在看到这里,Newtonsoft,应该都会用啦。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。