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 { getset; }
    06. public string name { getset; }
    07. public string first_name { getset; }
    08. public string last_name { getset; }
    09. public string link { getset; }
    10. public string username { getset; }
    11. public string gender { getset; }
    12. public string locale { getset; }
    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 跟过去的体验是相同的


  • 免责声明!

    本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



     
    粤ICP备18138465号  © 2018-2025 CODEPRJ.COM