我怎么能得到我的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发布数据。
谢谢。
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调用收到响应。