从 JSON 数组 API 请求中获取值
Posted
技术标签:
【中文标题】从 JSON 数组 API 请求中获取值【英文标题】:Get values from a JSON array API request 【发布时间】:2020-10-25 02:18:49 【问题描述】:具有这样的 JSON 结构:
[
0,
1,
2,
3
]
由 API webclient 调用返回,如何获取这些值并使其可用?
目前我的代码是这样的:
myJSON = client.DownloadString(URL);
var result = JsonConvert.DeserializeObject<Dictionary<int>>(json);
if (result.key = 2)
//VALUE FOUND, DO SOMETHING WITH IT
但是,它不起作用
【问题讨论】:
字典结果不是字典,而是 int 列表。
List<int>()
改成这样:
myJSON = client.DownloadString(URL);
var result = JsonConvert.DeserializeObject<List<int>>(json);
var value = result.Where(r => r == 2).FirstOrDefault();
if (value != null)
//VALUE FOUND, DO SOMETHING WITH IT
【讨论】:
谢谢。还有一个问题,我如何检查数组的所有内容,而不知道它输出了哪些值?例如,结果 [2] 上的值并不总是 2,它可能是 3、5、10 等。所以如果我想“找到”数组中的数字 2 或任何其他数字,这可能吗? 你可以使用 linq,类似这样,var value = result.Where(r => r == 2).FirstOrDefault();。我会更新我的答案。 我现在只是尝试根据您的建议修复代码,但这就是我得到的:无法将类型 'System.Collections.Generic.List以上是关于从 JSON 数组 API 请求中获取值的主要内容,如果未能解决你的问题,请参考以下文章
C# JSON 反序列化:如何从 JSON 对象数组中获取值 [重复]