如何为Windows 8.1手机应用程序开发调用REST Web服务

时间:2014-09-05 09:38:18

标签: windows-phone-8.1

我是Windows手机应用程序开发的新手。我已经为Windows安装了Visual Studio Express 2013的免费版本。

我正在尝试为Windows Phone 8.1构建一个Windows手机应用程序。 我的问题是按钮单击我想调用REST后端Web服务,它将返回响应JSON对象。

我查看了论坛,但找不到任何可以成功实施的内容。

有人可以指出我正确的方向吗?

感谢。

2 个答案:

答案 0 :(得分:4)

在开始之前,您需要将以下Nuget包添加到项目中:

如果你的json看起来像这样:

[
  {
    "id": "1",
    "title": "Hello"
  }
]

您需要将对象的类编辑为"设置链接" json属性和对象属性之间:

public class YourObject
    {
        [JsonProperty("id")]
        public String Id{ get; set; }

        [JsonProperty("title")]
        public String Title { get; set; }
    }

关于以下方法的说明: 你创建一个新的HttpClient()对象,用于制作一个" GET"给定的网址。如果HttpResponse成功(这意味着数据可用),您可以对数据执行某些操作。在您的情况下,它将json数据反序列化为对象。

public async Task<YourObject> GetObject()
        {
            YourObject o = new YourObject();

            using (HttpClient client = new HttpClient())
            {
                using (HttpResponseMessage response = await client.GetAsync(url))
                {
                    if (response.IsSuccessStatusCode)
                    {
                        string content = await response.Content.ReadAsStringAsync();
                        o= await JsonConvert.DeserializeObjectAsync<YourObject>(content);
                    }
                }
            }
            return o;
        }

我希望我的解释足够明确,这有助于你。

答案 1 :(得分:0)

网上有很多好文章与你问题的标题几乎相同。不过,这里有几个步骤

  1. 要进行REST调用,您需要使用HttpClient类
  2. 响应数据可以很容易地作为JSON字符串拉出,您必须将其反序列化为C#对象。用于使用JSON的最好和最流行的库是JSON.NET。
  3. 热门搜索结果之一: Consuming REST Services in your Windows Store and Phone Applications