频道栏目
首页 > 资讯 > C# > 正文

一个.NET通用JSON解析/构建类的实现

10-07-11        来源:[db:作者]  
收藏   我要投稿

在.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");
    

 


方式二:

相关TAG标签
上一篇:C#事件监控变量值的改变
下一篇:C#中ref与out的使用
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站