2012-12-19

[ASP.NET] 透過 JSON.Net Parse JSON

繼介紹過javascript如何Parse JSON後,再補充一篇ASP.NET如何Parse JSON。

ASP.NET常常會透過WebClient呼叫WebSerivce去要資料,而回傳的資訊有可能是JSON,雖然.NET內建兩種JSON轉換工具JavaScriptSerializer和DataContractJsonSerializer,但是它們都必須事先知道轉換的Class才行! 有時很不方便。

這時就可以使用JSON.NET來幫忙。它不僅支援LINQ操作,重要的是可透過它的JObject動態物件,解決不知道Class和Property不固定的問題。[JSON.NET技術說明文件]

P.S:請先到JSON.NET官網下載DLL。


Example:
//引用JSON.NET
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
...
//JSON
string objJSON = @"{
                    'obj1': {
                             'child1':'value1',
                             'child2':'value2'
                            },
                    'array1': [1, 2, 3, 4, 5]
                   }";

//透過JSON.NET Parse objJSON,轉成JObject物件
JObject oo = JsonConvert.DeserializeObject<JObject>(objJSON);

//使用JObject取值
Response.Write("obj1 : " + oo["obj1"].ToString());
Response.Write("child1 : " + oo["obj1"]["child1"].ToString());
Response.Write("array1 : " + oo["array1"].ToString());
執行結果

參考來源:黑暗執行緒

沒有留言:

張貼留言