我怎么能得到我的Json对象从URL, Windows Phone 8.1 (c#)

本文关键字:Phone Windows URL 怎么能 我的 Json 对象 | 更新日期: 2023-09-27 18:16:43

假设我有以下数据:

{
    "A": "Z",
    "B": {
        "C": "Y",
        "D": "X"
    }
}

保存在此链接中。

现在我想从我的windows手机应用程序在一个按钮点击这个数据。

private void login(object sender, RoutedEventArgs e)
{
    //I want to read the json data here        
}

以前我尝试过WebClient的DownloadStringAsync方法。但是这个类在System.Net中不再可用。我想知道的地方和文件,我可以学习如何获取和使用url发布数据。

谢谢。

我怎么能得到我的Json对象从URL, Windows Phone 8.1 (c#)

using (var client = new WebClient())
{
    var uri = "https://api.myjson.com/bins/2hxei";
    var result = System.Text.Encoding.Default.GetString(client.DownloadData(uri));
    // result : {"A":"Z","B":{"C":"Y","D":"X"}}
}

顺便说一句。WebClient在。net中仍然是可用的

如果你真的不想使用Web Client(旧的),而想使用新的Http Client,使用下面的代码:

public static string GetJsonData()
{
    var promise = GetWebStringAsync("https://api.myjson.com/bins/2hxei");
    // do something else if needed
    var jsonData = promise.Result;
    return jsonData; //{"A":"Z","B":{"C":"Y","D":"X"}}
}
public static async Task<string> GetWebStringAsync(string uri)
{
    using (var client = new HttpClient())
    {
        var stringTask = await client.GetStringAsync(uri);
        return stringTask;
    }
}

在这里,如果你想,而不是做var stringTask = await client.GetStringAsync(uri),你也可以直接做var jsonString= client.GetStringAsync(uri).Result。但是您将失去aynchronous方法的好处,并且调用将是同步的。调用线程将在那里等待,直到从web调用收到响应。