C# Newtonsoft.Json用法詳解
源碼地址:點擊跳轉(zhuǎn)
在NuGet 里直接搜索 Newtonsoft.Json,點擊安裝即可

一、創(chuàng)建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());二、創(chuàng)建JSON數(shù)組
// 創(chuàng)建數(shù)組
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("吃飯", "睡覺");三、使用Linq to JSON查詢
string json = "{\"Name\" : \"Jack\", \"Age\" : 34, \"Colleagues\" : [{\"Name\" : \"Tom\" , \"Age\":44},{\"Name\" : \"Abel\",\"Age\":29}] }";
//將json轉(zhuǎn)換為JObject
JObject jObj = JObject.Parse(json);
JToken ageToken = jObj["Age"];
Console.WriteLine(ageToken.ToString());四、將類對象序列化為Json
public class Student
{
public int ID { get; set; }
public string Name { get; set; }
}
Student student = new Student();
student.ID = "1";
student.Name = "jack";
//序列化為JSON
string json = JsonConvert.SerializeObject(student);五、將Json反序列化為類對象
將 Json 字符串反序列化成一個類對象
public class Student
{
public int ID { get; set; }
public string Name { get; set; }
}
string json = ".....";
Student student = JsonConvert.DeserializeObject<Student>(json);將 Json 字符串反序列化為 JObject
string json = "{\"ID\":1,\"Name\":\"張三\",\"Favorites\":[\"吃飯\",\"睡覺\"]}";
JObject obj = JObject.Parse(json);六、常用工具
在上面的json代碼中都帶有 “\” 字符,這個叫轉(zhuǎn)義字符,一般直接寫在代碼中的json如果沒有轉(zhuǎn)義,會報錯的,在這里給大家介紹一些Json相關的小工具。
1.判斷Json是否正確
JSON在線 | JSON解析格式化—SO JSON在線工具
在這個網(wǎng)站中,可以判斷 json 是否出錯

2.添加轉(zhuǎn)義字符
轉(zhuǎn)義,就是在 json 中加入 “\”,這個在變量的定義時,會用到

3.去轉(zhuǎn)義字符
去轉(zhuǎn)義,就是去掉 json 中的 “\”

4.壓縮Json
壓縮,是將自動對齊的 json 變?yōu)橐恍校⑷サ艨崭?,使字符串的字?jié)數(shù)變小

另外,推薦一個網(wǎng)站,可以將 json 轉(zhuǎn)換為實體類
5.Json轉(zhuǎn)為實體類

輸入json 就可以轉(zhuǎn)換成對于的字段了,在我們做反序列化時,非常好用,不過,過于復雜的json,轉(zhuǎn)換還是有點問題的,需要自己手動修改一下。
到此這篇關于C# Newtonsoft.Json用法詳解的文章就介紹到這了,更多相關C# Newtonsoft.Json內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#使用LibUsbDotNet實現(xiàn)USB設備檢測
C#?LibUsbDotNet是一個.NET平臺上的庫,用于訪問USB設備,它封裝了Linux下的libusb庫,LibUsbDotNet提供了一個簡單的API,開發(fā)者可以利用這個庫在C#中操作USB設備,本文介紹了C#使用LibUsbDotNet實現(xiàn)USB設備檢測,需要的朋友可以參考下2024-07-07
C#借助OpenCvSharp讀取攝像頭并顯示的實現(xiàn)示例
OpenCvSharp是一個OpenCV的.Net wrapper,應用最新的OpenCV庫開發(fā),本文主要介紹了C#借助OpenCvSharp讀取攝像頭并顯示的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2022-05-05

