[英]How can I get my Json object from URL, Windows Phone 8.1 (C#)
假設我有這個數據:
{
"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 調用的響應。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.