[Xamarin] 調用JSON.net 來解析JSON
2013-07-09
上一篇文章我們提到了透過WebClient從Facebook 拿到我的JSON資料
再來我們要怎麼解析JSON格示呢?在.net 中,我們很孰悉的JSON.net,沒錯,我們依然可以在Xamarin中使用他
感謝社群偉大的貢獻 下載網址: http://components.xamarin.com/view/json.net/
接續上一個專案我們多引入下載後的 Newtonsoft.Json.dll
記得要引入Android 下的
引入後就跟我們平常使用JSON.net 一樣首先我們要為Facebook接回來的資料建立一個相對應的Class
這時候我們可以使用 http://json2csharp.com/ 這網站幫忙
在專案中建立一個User 的Class
namespace SampleForWebClient{public class User
{public string id { get; set; }
public string name { get; set; }
public string first_name { get; set; }
public string last_name { get; set; }
public string link { get; set; }
public string username { get; set; }
public string gender { get; set; }
public string locale { get; set; }
}
}
我們回到主程式
using Android.App;using Android.Widget;using Android.OS;using Newtonsoft.Json;namespace SampleForWebClient{[Activity(Label = "Json.net測試", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{protected override void OnCreate(Bundle bundle)
{ base.OnCreate(bundle); // Set our view from the "main" layout resourceSetContentView(Resource.Layout.Main);
var btnGetData1 = FindViewById<Button>(Resource.Id.btnGetData1);
btnGetData1.Click += btnGetData1_Click;
}
void btnGetData1_Click(object sender, System.EventArgs e)
{ var webClient = new System.Net.WebClient(); var result = webClient.DownloadString("https://graph.facebook.com/donma.hsu"); //透過JSON.net 反序列化為User物件var user = JsonConvert.DeserializeObject<User>(result);
//印出 id and nameToast.MakeText(this, user.id+":"+user.name, ToastLength.Long).Show();
}
}
}
結果:
是不是很簡單,在Xamarin 下面開發Android 跟過去的體驗是相同的
Source :
