[WindowsPhone] 隨貼即用 - 解析JSON資料

2013-10-22

簡述 : JSON格式為目前常見的API所使用的資料交換,這篇主要解析JSON資料

難度 : ★★★

範例敘述:  一顆按鈕,按下後解析下列的JSON資料結構。



{
   'id': '100001962382625',
   'name': 'Donma Hsu',
   'first_name': 'Donma',
   'last_name': 'Hsu',
   'link': 'http://www.facebook.com/donma.hsu',
   'username': 'donma.hsu',
   'gender': 'male',
   'locale': 'zh_HK',
    'Friends':['朋友A','朋友B']
}

程式碼:

1. 透過nuget 來下載JSON.net 套件 網址: http://www.nuget.org/packages/newtonsoft.json/

2013-10-22_161118

我們複製 nuget 指令 Install-Package Newtonsoft.Json

2.在專案中安裝 JSON.net

2013-10-22_161314

下方會出現 Package Manager Console 輸入 Install-Package Newtonsoft.Json
2013-10-22_161525

3. 使用的範例程式碼


private void btnParseJSON_Click(object sender, RoutedEventArgs e)
{
    string json_sample_code = @"
                                            {
                                               'id': '100001962382625',
                                               'name': 'Donma Hsu',
                                               'first_name': 'Donma',
                                               'last_name': 'Hsu',
                                               'link': 'http://www.facebook.com/donma.hsu',
                                               'username': 'donma.hsu',
                                               'gender': 'male',
                                               'locale': 'zh_HK',
                                                'Friends':['朋友A','朋友B']
                                            }
 
                                      ";
    //反JSON 資料 序列化成為物件
    var userInfo = JsonConvert.DeserializeObject<dynamic>(json_sample_code);
 
    //顯示姓名
    MessageBox.Show("姓名 : " + userInfo.username);
 
    //列出迴圈
    foreach (var friend in userInfo.Friends)
    {
        MessageBox.Show("朋友 : " + friend);
    }
}

範例結果:

2013-10-22_162324

2013-10-22_162330

2013-10-22_162422

注意事項:

1.記得先引用

using using Newtonsoft.Json;

參考連結:
JSON.net 文件  http://json.codeplex.com/documentation
dynamic 型別 http://msdn.microsoft.com/library/vstudio/dd264741

下載源碼:


當麻許的超技八 2014 | Donma Hsu Design.