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,應該都會用啦。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: