zoukankan      html  css  js  c++  java
  • [Xamarin] 調用JSON.net 來解析JSON (转帖)

    上一篇文章我們提到了透過WebClient從Facebook 拿到我的JSON資料

    Screenshot_2013-07-09-15-00-20

    再來我們要怎麼解析JSON格示呢?在.net 中,我們很孰悉的JSON.net,沒錯,我們依然可以在Xamarin中使用他

    感謝社群偉大的貢獻 下載網址: http://components.xamarin.com/view/json.net/

    2013-07-09_175824 

    接續上一個專案我們多引入下載後的 Newtonsoft.Json.dll

    2013-07-09_175912

    記得要引入Android 下的

    2013-07-09_180103

    引入後就跟我們平常使用JSON.net 一樣首先我們要為Facebook接回來的資料建立一個相對應的Class

    這時候我們可以使用 http://json2csharp.com/ 這網站幫忙

    2013-07-09_180131

    在專案中建立一個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 resource
                SetContentView(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 name
                Toast.MakeText(this, user.id+":"+user.name, ToastLength.Long).Show();
            }
     
          
        }
    }
     
    結果:
    Screenshot_2013-07-09-18-03-27
    是不是很簡單,在Xamarin 下面開發Android 跟過去的體驗是相同的
  • 相关阅读:
    Appdelegate 跳转其他页面 获取当前屏幕显示的viewcontroller 获取当前屏幕中present出来的viewcontroller 获取当前导航控制器
    React-Native 环境部署
    关于GCD的那些事
    二,Runtime进行动态添加方法
    一, Runtime 交换方法
    Runtime 概念
    Mac Office安装及破解
    iOS 规范之宏
    规范之UITableViewCell
    Linux 命令
  • 原文地址:https://www.cnblogs.com/whatthehell/p/3444732.html
Copyright © 2011-2022 走看看