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,應該都會用啦。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。