假设我有这些数据:
{
"A": "Z",
"B": {
"C": "Y",
"D": "X"
}
}
存储在this链接中。
现在,我想在点击按钮时从我的手机应用程序中获取此数据。
private void login(object sender, RoutedEventArgs e)
{
//I want to read the json data here
}
以前我尝试WebClient的DownloadStringAsync
方法。但是System.Net中不再提供此类。我想知道我可以学习如何使用url获取和发布数据的地点和文档。
感谢。
答案 0 :(得分:1)
greater :: Ord a => [a] -> [a] -> [a]
greater xs = map fst . filter ((>) <$> fst <*> snd) . zip xs
example :: [Int]
example = greater [1,5,8] [2,4,9] -- result is [5]
顺便说一句。 WebClient绝对可以在.NET中使用
答案 1 :(得分:0)
如果您确实不想使用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调用收到响应。