[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" }
其它的用法可以參考說明文件