標籤:程式 .net 2.0 名稱 adl span datetime 查看 mes obj
Json.NET是 Json的.net架構實現,有了它我們可以在.NET程式中方便的使用 Json,例如:解析 Json 字串的索引值、產生 Json 字串、與對象之間進行轉換等等。而且是開源的,非常方便我們學習和使用。
Json.NET的網址:https://www.newtonsoft.com/json
下面介紹一些基本的使用方法
使用下面代碼前,需先添加引用
using Newtonsoft.Json;using Newtonsoft.Json.Linq;
1. 讀取 Json 字串中的索引值資訊
static void Main(string[] args) { string jStr = "{name: ‘momo‘, birthday: ‘2016-8-1‘, weidht: 11.5, loveFoods: [‘milk‘, ‘chicken‘]}"; //Json 字串 JObject jObj = null; try { jObj = JObject.Parse(jStr); //將 Json 字串轉換成 JObject 類型,如果 Json 字串不合法,會異常。 } catch (Exception ex) { Console.WriteLine(ex.Message); return; } //通過名稱讀取值 Console.WriteLine("=========================通過名稱讀取值"); Console.WriteLine(jObj["name"]); Console.WriteLine(jObj.GetValue("birthday")); //遍曆所有索引值對 Console.WriteLine("=========================遍曆所有索引值對"); foreach (var item in jObj) { Console.WriteLine(item.Key.ToString() + ": " + item.Value.ToString()); } Console.ReadLine(); }
輸出結果
2. 產生 Json 字串
//產生 Json 字串 Console.WriteLine("=========================產生 Json 字串"); JObject jObj2 = new JObject(); string name = "tongtong"; int age = 2; JArray interests = new JArray("singing", "swim", "watching TV"); jObj2.Add("name", name); jObj2.Add("age", age); jObj2.Add("interests", interests); Console.WriteLine(jObj2.ToString(Formatting.Indented));
輸出結果
3. 對象和 Json 字串互相轉換
先定義一個類
public class Person { public string Name { get; set; } = "momo"; public DateTime Birthday { get; set; } = new DateTime(2016, 8, 1); public double Weight { get; set; } = 11.5; public string[] LoveFoods { get; set; } = new string[] { "milk", "chicken" }; }
使用 JsonConvert 中的方法進行轉換
//對象轉化成 Json Console.WriteLine("=========================對象轉化成 Json"); Person person1 = new Person(); person1.Name = "Lily"; string jStr1 = JsonConvert.SerializeObject(person1, Formatting.Indented); Console.WriteLine(jStr1); //Json 轉化成對象 Console.WriteLine("=========================Json 轉化成對象"); Person person2 = JsonConvert.DeserializeObject<Person>(jStr1); Console.WriteLine(person2.Name);
輸出結果
總結
Json.Net 的功能遠不止於此,查看協助文檔深入學習。
協助文檔地址:https://www.newtonsoft.com/json/help/html/Introduction.htm
註:這裡程式測試使用的是 Json.net 2.0 的dll。
Json.NET 入門