首页 > Windows开发 > 详细

对于api的调用

时间:2015-12-28 11:59:16      阅读:228      评论:0      收藏:0      [点我收藏+]

对于完成一个应用,我们应该思考的是:

1、如何获取数据和怎样对数据的进行相应的处理,

2、以怎样的方式向用户展示数据和确定对应的交互方式。

对于数据我们多是调用第三方的api,那如何调用呢,以一个天气应用为例,

其是对于第三方api,数据返回的格式有两种,一种是xml,一种是json。

以xml格式的api调用与解析

                string url = "http://php.weather.sina.com.cn/xml.php?city=" + UrlEncode(searchcity.Text) + "&password=DJOYnieT8234jlsK&day=0";
                HttpClient httpClient = new HttpClient();
                string result = await httpClient.GetStringAsync(url);
                XDocument docXml = XDocument.Parse(result);
                XElement Xml = docXml.Root;
                XElement info = Xml.Element("Weather");
                city.Text = info.Element("city").Value;
                status.Text = info.Element("status1").Value;

以json格式的api调用与解析

     string url = "http://openapi.aibang.com/search?app_key=aa182385cb49392872bc8d01292d86f3&city=武汉&q=饭店&alt=json";
            HttpClient httpClient=new HttpClient();
            string result=await httpClient.GetStringAsync(url);

            JObject o=(JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(result);
            JToken o1=o["bizs"];
            JToken o2=o1["biz"];
            List<string> list = new List<string>();
            foreach(JToken item in o2)
            {
                list.Add(item["name"].ToString());
            }
            list1.ItemsSource=list;

在这里有个小坑,就是对于异步方法,最简单的就是在需要在方法前加async,如果需要有返回值,就task

 async private void Button_Click(object sender, RoutedEventArgs e)

 

对于api的调用

原文:http://www.cnblogs.com/db2-smile/p/5081984.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!