[WP7開發] 處理 JSON 字串

目前許多網路服務、API 都喜歡使用 JSON 格式的字串做為交換格式,在 Windows Phone 上開發網際網路應用程式時,幾乎不可避免地得處理 JSON 格式的字串,這時可以使用一套高效能的第三方套件--Json.NET 來處理。

安裝套件

要在 Windows Phone 專案中加入 Json.NET 這個套件十分容易,因為 Visual Studio 已經與 NuGet 套件工具整合,所以可以直接在 Solution Explorer 的視窗內,於專案下的 References 按滑鼠右鍵,選擇 Add Library Package Reference...

這時便會開啟套件安裝對話盒,在左方選擇 Online,然後於搜尋框中輸入 Json.NET 便可以找到 Newtonsoft.Json 的套件了,這時再按下 Install 來安裝它。

等待它安裝完畢,就可以將安裝套件的對話盒關閉了。

不過,當它自動安裝完畢時,自動帶入 References 的函式庫並不是適合 Windows Phone 環境運作的,所以得先將原本自動帶入的 Newtonsoft.Json.Silverlight 移除掉,再到 References 上右鍵選擇 Add References... ,從專案資料夾下找到 packages > Newtonsoft.Json.4.0.2 > lib > sl3-wp 目錄中的 Newtonsoft.Json.WindowsPhone.dll 才行。

在加入這個 dll 檔案之後,如果可以在 References 中看到 Newtonsoft.Json.WindowsPhone 就大功告成了!

程式的撰寫

在安裝了這個套件之後,操作 JSON 就方便許多了,以下是簡短的程式碼範例:

 // 加入 namespace
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

// 將 JSON 字串變成物件
JObject obj = JObject.Parse(@"{""Name"": ""Eric""}");
//obj["Name"] == "Eric"

// 將物件變成 JSON 字串
Person p = new Person();
p.Name = "Eric";
// JsonConvert.SerializeObject(p); ==> { "Name": "Eric" }

其它的用法可以參考說明文件