九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
DataContractJsonSerializer類

  DataContractJsonSerializer類同樣是提供JSON序列化的類。而且貌似有幾個方法還和XML有點點關系。

  注意用此類要引用System.ServiceModel.Web.dll與System.Runtime.Serialization.dll

  1、屬性

  DataContractSurrogate       獲取給定 IDataContractSurrogate 實例的當前活動代理項類型。代理項可以擴展序列化或反序列化過程。
  IgnoreExtensionDataObject     獲取一個值,指定在反序列化時是否忽略未知數(shù)據(jù)以及在序列化時是否忽略 IExtensibleDataObject 接口。
  KnownTypes             獲取一個類型集合,這些類型可呈現(xiàn)在使用此 DataContractJsonSerializer 實例序列化的對象圖中。
  MaxItemsInObjectGraph        獲取序列化程序通過一次讀取或寫入調用在對象圖中序列化或反序列化的最大項數(shù)。

  2、方法

  IsStartObject     已重載。 獲取一個值,該值指定序列化程序是否可以讀取對象。
  ReadObject        已重載。 反序列化 JSON(JavaScript 對象表示法)數(shù)據(jù),并返回反序列化的對象。
  WriteEndObject     已重載。 將結束 XML 元素寫入可映射到 JavaScript 對象表示法 (JSON) 的 XML 文檔。
  WriteObject       已重載。 將對象序列化為 JavaScript 對象表示法 (JSON) 文檔。
  WriteObjectContent   已重載。 將對象內容寫入可映射到 JavaScript 對象表示法 (JSON) 的 XML,而不寫入包裝元素。
  WriteStartObject    已重載。 寫入開始 XML 元素,以便將對象序列化為可映射到 JavaScript 對象表示法 (JSON) 的 XML。

  例子:

  class Program    {        static void Main(string[] args)        {            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Person));            //最常用的兩個方法            string str = "{\"Id\":1,\"Name\":\"劉備\",\"Age\":\"23\"}";            Person p;            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(str)))     //構造函數(shù)能夠接受Stream參數(shù),因此你可以用內存流,文件流等等創(chuàng)建            {                p = serializer.ReadObject(ms) as Person;            }            Console.WriteLine(p.Name);      //輸出劉備            Person p2 = new Person(2, "關羽", 23);            byte[] byteArr;            using (MemoryStream ms = new MemoryStream())            {                serializer.WriteObject(ms, p2);                byteArr = ms.ToArray();            }            Console.WriteLine(Encoding.UTF8.GetString(byteArr));    //輸出 {"Age":23,"Id":1,"Name":"關羽"}            Console.WriteLine(serializer.MaxItemsInObjectGraph);    //2147483647 獲取序列化程序通過一次讀取或寫入調用在對象圖中序列化或反序列化的最大項數(shù)。            Console.WriteLine(serializer.DataContractSurrogate);    //輸出 空白            Console.WriteLine(serializer.IgnoreExtensionDataObject);    //False 反序列化時是否忽略未知數(shù)據(jù)以及在序列化時是否忽略 IExtensibleDataObject 接口。             Console.WriteLine(serializer.KnownTypes.Count);     //輸出 0  一個類型集合,這些類型可呈現(xiàn)在使用此 DataContractJsonSerializer 實例序列化的對象圖中。              //IsStartObject 已重載。 獲取一個值,該值指定序列化程序是否可以讀取對象。              //WriteEndObject 已重載。 將結束 XML 元素寫入可映射到 JavaScript 對象表示法 (JSON) 的 XML 文檔。              //WriteObjectContent 已重載。 將對象內容寫入可映射到 JavaScript 對象表示法 (JSON) 的 XML,而不寫入包裝元素。              //WriteStartObject 已重載。 寫入開始 XML 元素,以便將對象序列化為可映射到 JavaScript 對象表示法 (JSON) 的 XML。                         Console.ReadKey();        }    }    [DataContract]      //對于使用DataContractJsonSerializer類而言,該屬性是必須的    public class Person    {        public Person(int id,string name,int age)        {            Id = id;            Age = age;            Name = name;        }        [DataMember] //對于使用DataContractJsonSerializer類而言,該屬性是必須的        public int Id        {            get;            set;        }        [DataMember]         public string Name        {            get;            set;        }        [DataMember]         public int Age        {            get;            set;        }    }

 

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C# 中使用JSON - DataContractJsonSerializer
對象序列化
C#中,Json的序列化和反序列化的幾種方式總結
Json怎么實現(xiàn)序列化與反序列化
JSONSerializer.writeWithFieldName
C#實現(xiàn)json的序列化和反序列化
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服