程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 一個.NET通用JSON解析/構建類的實現

一個.NET通用JSON解析/構建類的實現

編輯:C#入門知識

在.NET Framework 3.5中已經提供了一個JSON對象的序列化工具,但是他是強類型的,必須先按JSON對象的格式定義一個類型,並將類型加上JSON序列化特性。本文將試圖提供一個高度靈活的JSON通用類型(JsonObject),實現對JSON的解析及序列化。

假設JSON對象內容如下:

  1. {
  2.     orders: {
  3.         date: 21:31:59,
  4.         name: Xfrog,
  5.         books: [{
  6.             name: C# 網絡核心編程,
  7.             publish: 2010-3-24
  8.         }, {
  9.             name: C#入門經典中文版,
  10.             publish: 2009-10-16
  11.         }]
  12.     },
  13.     blog: http://www.cnblogs.com/xfrog
  14. }

 

使用JsonObject來構建,可選擇以下三種方式:
方式一:

  1. //通過標准構造函數
    
  2. JsonObject json = new JsonObject();
    
  3. json["orders"] = new JsonProperty(new JsonObject());
    
  4. json["blog"] = new JsonProperty("http://www.cnblogs.com/xfrog");
    
  5.  
  6. JsonObject config = json.Properties<JsonObject>("orders");
    
  7. json["orders"]["date"] = new JsonProperty(DateTime.Now.ToLongTimeString());
    
  8. json["orders"]["name"] = new JsonProperty("Xfrog");
    
  9. json["orders"]["books"] = new JsonProperty();
    
  10.  
  11. JsonProperty book = json["orders"]["books"].Add(new JsonObject());
    
  12. book["name"] = new JsonProperty("C# 網絡核心編程");
    
  13. book["publish"] = new JsonProperty("2010-3-24");
    
  14.  
  15. book = json["orders"]["books"].Add(new JsonObject());
    
  16. book["name"] = new JsonProperty("C#入門經典中文版");
    
  17. book["publish"] = new JsonProperty("2009-10-16");
    

 


方式二:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved