Xamarin调用JSON.net来解析JSON

Posted 键盘上落下的泪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xamarin调用JSON.net来解析JSON相关的知识,希望对你有一定的参考价值。

    •  
    • https://www.cnblogs.com/zjoch/p/4458516.html
    • \\
       

      再来我们要怎么解析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 跟过去的体验是相同的

以上是关于Xamarin调用JSON.net来解析JSON的主要内容,如果未能解决你的问题,请参考以下文章

如何将json.net添加到Xamarin Forms,本地项目或PCL上?

使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON.net 的json的序列化与反序列化

Json.net 从 HTTPClient 结果反序列化 DateTime

Json.net自定义字典格式

如何使用 JSON.NET 使用十六进制编码字符解析格式错误的 JSONP?

获取数组 JSON.Net 的长度