中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Json.Net6.0怎么使用

發布時間:2021-12-23 10:48:12 來源:億速云 閱讀:155 作者:iii 欄目:開發技術

本篇內容主要講解“Json.Net6.0怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Json.Net6.0怎么使用”吧!

前言

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。簡單地說,JSON 可以將 JavaScript 對象中表示的一組數據轉換為字符串,然后就可以在函數之間輕松地傳遞這個字符串,或者在異步應用程序中將字符串從 Web 客戶機傳遞給服務器端程序。這個字符串看起來有點兒古怪,但是 JavaScript 很容易解釋它,而且 JSON 可以表示比"名稱 / 值對"更復雜的結構。例如,可以表示數組和復雜的對象,而不僅僅是鍵和值的簡單列表。

它所具有的特性:

  • 1、Flexible JSON serializer for converting between .NET objects and JSON ——靈活的JSON序列化器用于實現.NET對象與JSON的轉換

  • 2、LINQ to JSON for manually reading and writing JSON ——LINQ to JSON用于手動讀寫Json

  • 3、High performance, faster than .NET's built-in JSON serializers——高性能,比.NET內置的JSON序列化程序速度要更快

  • 4、Writes indented, easy to read JSON ——縮排書寫,使得Json易讀

  • 5、Convert JSON to and from XML——支持JSON 與 XML 兩種格式相互轉換

  • 6、Supports .NET 2 .NET 3.5 .NET 4, Silverlight, Windows Phone and Windows 8——支持.NET2.NET3.5.NET4,Silverlight,Windows Phone和Windows 8

在.Net中內置了讀寫Json的對象就是 DataContractJsonSerializer JavaScriptSerializer這兩個。但是這個是在.Net 3.5之后才支持的。并且性能上并不優秀。

性能對比圖如下:

Json.Net6.0怎么使用

這是Json.Net 5與.NET內置對象的性能對比圖,而現在Json.Net的版本已經到達了Version 6.0.1 ,相信它會有更好的表現。JSON.NET是開源的,下載地址:http://json.codeplex.com/,這里有完整的源代碼,當然也可以參考http://james.newtonking.com/這里。

jb51下載地址:http://www.5655pk.com/codes/571698.html

當然通過VS進入Nuget管理包也可以進行下載Json.Net的程序包

Json.Net6.0怎么使用

下面我們來簡單的通過實例進行初步了解JSON.NET。

  • 1、序列化一個對象為json字符串。

  • 2、然后再將字符串反序列化為對象。

  • 3、JSON與XML之間的互轉。

  • 4、……當然還有其他格式的轉換,我們暫時不進行舉例,后面的文章會對此進行比較詳細的描述。

Serialize an Object——序列化一個對象

首先定義一個實體類對象

public class Account
    {
        public string Email { get; set; }
        public bool Active { get; set; }
        public DateTime CreatedDate { get; set; }
        public IList<string> Roles { get; set; }
    }

實例化實體類,然后進行序列化為Json字符串

Account account = new Account()
            {
                Email = "aehyok@vip.qq.com",
                Active = true,
                CreatedDate = new DateTime(2014, 3, 27, 0, 0, 0, DateTimeKind.Utc),
                Roles = new List<string>{"aehyok","Kris" }
            };
            string json = JsonConvert.SerializeObject(account, Formatting.Indented);

得到的json字符串結果為

{
  "Email": "aehyok@vip.qq.com",
  "Active": true,
  "CreatedDate": "2014-03-27T00:00:00Z",
  "Roles": [
    "aehyok",
    "Kris"
  ]
}

Deserialize an Object——反序列化一個對象

繼續使用上面的實體類

現在是先定義一個Json的字符串,我們也可以將上面生成的Json字符串進行簡單的修改,然后進行反序列化處理

string json = @"{
              'Email': 'aehyok@vip.qq.com',
              'Active': true,
              'CreatedDate': '2014-03-27T00:00:00Z',
              'Roles': [
                'aehyok',
                'Kris'
              ]
            }";
            Account account = JsonConvert.DeserializeObject<Account>(json);

通過調試得到的數據為

Json.Net6.0怎么使用

Convert JSON to XML——將JSON轉換為XML

首先還是定義一個Json字符串,然后對其進行轉換

string json = @"{
               '@Id': 1,
               'Email': 'aehyok@viq.qq.com',
               'Active': true,
               'CreatedDate': '2014-01-20T00:00:00Z',
               'Roles': [
                 'Kris',
                 'aehyok'
               ],
              'Team': {
                '@Id': 2,
                'Name': 'Software Developers',
                'Description': 'Creators of fine software products and services.'
              }
            }";
            XNode node = JsonConvert.DeserializeXNode(json, "Root");

轉換結果為

Json.Net6.0怎么使用

Convert XML to JSON——將XML轉換為JSON

現在就是需要先定義一個簡單的XML字符串,然后對其進行轉換處理

string xml = @"<?xml version='1.0' standalone='no'?>
             <root>
               <person id='1'>
               <name>aehyok</name>
               <url>http://www.google.com</url>
               </person>
               <person id='2'>
               <name>Kris</name>
               <url>http://www.baidu.com</url>
              </person>
            </root>";
            
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);
            
            string json = JsonConvert.SerializeXmlNode(doc);

通過調試得到的結果為

Json.Net6.0怎么使用

其他功能簡介

  • 1、Linq to JSON是用來操作JSON對象的。可以用于快速查詢、修改、刪除和創建JSON對象。當JSON對象內容比較復雜,而我們僅僅需要其中的一小部分數據時,可以考慮使用Linq to JSON來讀取和修改部分的數據而非反序列化全部。

  • 2、Json.Net不僅支持序列化和反序列化對象,還支持XML和JSON之間的轉換。它支持的數據類型與JSON之間的轉換,例如:DataSet、DataTable、Entity Framework和NHibernate、Collection、Dictionary、Dynamic等等,大部分的數據類型基本都支持。

  • 3、JSON.NET支持BSON數據的序列化和反序列化。
    BSON(Binary Serialized Document Format)是一種類json的一種二進制形式的存儲格式,簡稱Binary JSON,它和JSON一樣,支持內嵌的文檔對象和數組對象,但是BSON有JSON沒有的一些數據類型,如Date和BinData類型。

  • 4、JSON Schema 用于描述JSON數據的結構和類型。如同DTD與XML的關系。

  • 暫時我了解了這么多的功能。總之,它對于一些什么為空處理、日期格式控制、忽略屬性轉換等等的一些配置處理,都做的非常不錯,有關詳細介紹會在后續學習之后,進行總結記錄介紹。

到此,相信大家對“Json.Net6.0怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

勃利县| 舒兰市| 仁布县| 视频| 万宁市| 昆山市| 松桃| 扬中市| 莎车县| 五寨县| 卢氏县| 余庆县| 沿河| 阿克陶县| 宝清县| 桐庐县| 五台县| 前郭尔| 泾源县| 浦北县| 湘乡市| 淳安县| 抚顺市| 铁岭市| 叙永县| 大丰市| 青河县| 商河县| 庆安县| 沾益县| 无锡市| 丘北县| 北安市| 西峡县| 灵台县| 文水县| 武平县| 蓝山县| 西乡县| 瓦房店市| 南漳县|