亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

如何:對 JSON 數據進行序列化和反序列化

系統 2201 0

JSON(JavaScript 對象符號)是一種高效的數據編碼格式,可用于在客戶端瀏覽器和支持 AJAX 的 Web 服務之間快速交換少量數據。

本主題演示如何使用 DataContractJsonSerializer 將 .NET 類型對象序列化為 JSON 編碼數據,然后將 JSON 格式的數據反序列化回 .NET 類型的實例。 此處的示例使用數據協定來演示用戶定義的 Person 類型的序列化和反序列化。

通 常,當在通過支持 AJAX 的終結點公開的服務操作中使用數據協定類型時,Windows Communication Foundation (WCF) 會自動處理 JSON 序列化和反序列化。 但是,在某些情況下您可能需要直接處理 JSON 數據,這正是本主題演示的方案。

注意:如果在服務器上的傳出答復的序列化期間發生錯誤或答復操作由于某種其他原因引發錯誤,則可能不會將其作為錯誤返回到客戶端。

本主題基于 JSON Serialization 示例。

定義 Person 的數據協定

將 Person 類型的實例序列化為 JSON

  1. 創建 Person 類型的實例。

                Person p = new Person();
                
    p.name = "John";
    p.age = 42;
  2. 使用 DataContractJsonSerializer Person 對象序列化為內存流。

                MemoryStream stream1 = new MemoryStream();
                
    DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
  3. 使用 WriteObject 方法將 JSON 數據寫入到流中。

                ser.WriteObject(stream1, p);
              
  4. 顯示 JSON 輸出。

                stream1.Position = 0;
                
    StreamReader sr = new StreamReader(stream1);
    Console.Write("JSON form of Person object: ");
    Console.WriteLine(sr.ReadToEnd());

從 JSON 反序列化 Person 類型的實例

  1. 通過使用 DataContractJsonSerializer ReadObject 方法,將 JSON 編碼數據反序列化為一個新的 Person 實例:

                stream1.Position = 0;
                
    Person p2 = (Person)ser.ReadObject(stream1);
  2. 顯示結果。

                Console.Write("Deserialized back, got name=");
                
    Console.Write(p2.name);
    Console.Write(", age=");
    Console.WriteLine(p2.age);

示例

Note 注意:

對于包含多個具有相同名稱的成員的數據協定,JSON 序列化程序將引發一個序列化異常,如以下示例代碼中所示。

        [DataContract]
        
public class TestDuplicateDataBase
{
[DataMember]
public int field1 = 123;
}
[DataContract]
public class TestDuplicateDataDerived : TestDuplicateDataBase
{
[DataMember]
public new int field1 = 999;
}

如何:對 JSON 數據進行序列化和反序列化


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美一区二区三区免费视频 | 久久免费精品高清麻豆 | 在线亚洲播放 | 中文字幕亚洲综合 | 午夜在线播放 | 国产一区二区亚洲精品天堂 | 一区二区伦理 | 97高清国语自产拍 | a免费网站 | 波多野结衣一区二区 三区 波多野结衣一区二区三区 波多野结衣一区二区三区高清在线 | 国产精品青草久久福利不卡 | 99热这里只有精品在线观看 | 国产福利91精品一区二区 | 国产视频一区二区三区四区 | 国产精品天堂 | 亚洲七七久久精品中文国产 | 久草视频免费在线观看 | 中文字幕一区二区在线观看 | 亚洲第一页色 | 久久婷婷久久一区二区三区 | 色老头成人免费视频天天综合 | 男女生性毛片免费观看 | 成年女人免费观看视频 | 老司机性视频 | 一区二区亚洲视频 | 欧美亚洲第一页 | 国内久久精品 | 久久综合图区亚洲综合图区 | 性欧美极品xxxx欧美一区二区 | 一区二区三区国产精品 | 国产免费变态视频网址网站 | a毛片在线 | 国产成人一区二区三区高清 | 久久久久九九精品影院 | 亚洲精品视频在线观看视频 | 黄色网一级片 | 国内外成人在线视频 | 久久精品资源站 | 五月综合激情视频在线观看 | 久久亚洲精品一区成人 | 亚洲精品www久久久久久久软件 |