从 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

但是,它不起作用

【问题讨论】:

字典 ?这是错误的 【参考方案1】:

结果不是字典,而是 int 列表。

List&lt;int&gt;()

改成这样:

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' 隐式转换为 'API.Find' 什么是 API.Find?它不在您提供的代码中。 这是另一个用于反序列化同一文件上的另一个请求的类,我会更新我的问题

以上是关于从 JSON 数组 API 请求中获取值的主要内容,如果未能解决你的问题,请参考以下文章

C# JSON 反序列化:如何从 JSON 对象数组中获取值 [重复]

如何用js取值json的数据

从 AJAX 请求中获取数组值 [重复]

如何从异步函数中获取数组的所有值

如何使用 Guzzle 和 Laravel 从 JSON 响应中提取单个数组值

javascript中数组取值的问题,如何取出键值对中的值?