Json.NET 入門

來源:互聯網
上載者:User

標籤:程式   .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 入門

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.