在.NET Framework 3.5中已經提供了一個JSON對象的序列化工具,但是他是強類型的,必須先按JSON對象的格式定義一個類型,並將類型加上JSON序列化特性。本文將試圖提供一個高度靈活的JSON通用類型(JsonObject),實現對JSON的解析及序列化。
假設JSON對象內容如下:
{
orders: {
date: 21:31:59,
name: Xfrog,
books: [{
name: C# 網絡核心編程,
publish: 2010-3-24
}, {
name: C#入門經典中文版,
publish: 2009-10-16
}]
},
blog: http://www.cnblogs.com/xfrog
}
使用JsonObject來構建,可選擇以下三種方式:
方式一:
//通過標准構造函數
JsonObject json = new JsonObject();
json["orders"] = new JsonProperty(new JsonObject());
json["blog"] = new JsonProperty("http://www.cnblogs.com/xfrog");
JsonObject config = json.Properties<JsonObject>("orders");
json["orders"]["date"] = new JsonProperty(DateTime.Now.ToLongTimeString());
json["orders"]["name"] = new JsonProperty("Xfrog");
json["orders"]["books"] = new JsonProperty();
JsonProperty book = json["orders"]["books"].Add(new JsonObject());
book["name"] = new JsonProperty("C# 網絡核心編程");
book["publish"] = new JsonProperty("2010-3-24");
book = json["orders"]["books"].Add(new JsonObject());
book["name"] = new JsonProperty("C#入門經典中文版");
book["publish"] = new JsonProperty("2009-10-16");
方式二: