C# HTTP GET远程JSON数据然后解析它

ajsxfq5m  于 2023-05-19  发布在  C#
关注(0)|答案(1)|浏览(187)

我不知道该怎么问但基本上,
我有一个JSON文件http://example.com/data.json的域,我想从/data.json获取数据并“将其转换为文本”。远程JSON文件包含以下内容:{"CurrentVersion": "1.0"}和我想解析CurrentVersion并定义一个值为(1.0)的字符串。

64jmpszr

64jmpszr1#

一种可能性是使用System.Net.WebClient下载数据:(已过时,请参阅下面的编辑。)

// WebClient is outdated
string json;
using(var webClient = new WebClient())
{
   json = webClient.DownloadString("http://URL.com/filename.json");
}

在下载字符串之后,你可以用像Json.Net这样的框架来反序列化它。因为它是一个简单的JSON文件,所以我们可以将其反序列化到字典中。这样我们就不必为它创建一个显式的类:

var dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);

现在我们可以像这样访问版本:

var versionString = dict["CurrentVersion"];

编辑

就像@CodeCaster在评论中说的:System.Net.WebClient的用法已经过时了。应该使用System.Net.Http.HttpClient。然后下载JSON看起来像这样:

// HttpClient is intended to be instantiated once per application, rather than per-use.
private readonly HttpClient _httpClient = new HttpClient();

[...]

var json = _httpClient.GetStringAsync("http://URL.com/filename.json");

// Do something with JSON

相关问题