Xamarin调用JSON.net来解析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
01.
namespace
SampleForWebClient
02.
{
03.
public
class
User
04.
{
05.
public
string
id {
get
;
set
; }
06.
public
string
name {
get
;
set
; }
07.
public
string
first_name {
get
;
set
; }
08.
public
string
last_name {
get
;
set
; }
09.
public
string
link {
get
;
set
; }
10.
public
string
username {
get
;
set
; }
11.
public
string
gender {
get
;
set
; }
12.
public
string
locale {
get
;
set
; }
13.
}
14.
}
我们回到主程序
01.
using
<a href=
"http://www.it165.net/pro/ydad/"
target=
"_blank"
class
=
"keylink"
>Android</a>.App;
02.
using
Android.Widget;
03.
using
Android.OS;
04.
using
Newtonsoft.Json;
05.
06.
namespace
SampleForWebClient
07.
{
08.
[Activity(Label =
"Json.net测试"
, MainLauncher =
true
, Icon =
"@drawable/icon"
)]
09.
public
class
Activity1 : Activity
10.
{
11.
protected
override
void
OnCreate(Bundle bundle)
12.
{
13.
base
.OnCreate(bundle);
14.
15.
// Set our view from the "main" layout resource
16.
SetContentView(Resource.Layout.Main);
17.
18.
var btnGetData1 = FindViewById<Button>(Resource.Id.btnGetData1);
19.
20.
btnGetData1.Click += btnGetData1_Click;
21.
}
22.
23.
void
btnGetData1_Click(
object
sender, System.EventArgs e)
24.
{
25.
var webClient =
new
System.Net.WebClient();
26.
var result = webClient.DownloadString(
"https://graph.facebook.com/donma.hsu"
);
27.
//透过JSON.net 反序列化为User对象
28.
var user = JsonConvert.DeserializeObject<User>(result);
29.
//印出 id and name
30.
Toast.MakeText(
this
, user.id+
":"
+user.name, ToastLength.Long).Show();
31.
}
32.
33.
34.
}
35.
}
结果:
是不是很简单,在Xamarin 下面开发Android 跟过去的体验是相同的