You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中提取嵌套JSON指定数据的实现方法

实现方案

你原有代码存在两个问题:

  1. 解析JSON后赋值的变量名为alldata,后续访问时写的usedata属于未定义变量,运行会直接抛出引用错误
  2. 属性访问没有匹配正确的层级和大小写,且额外包裹方括号会生成不必要的嵌套数组。

直接使用以下代码即可拿到目标数据:

// 将JSON字符串解析为JS对象
var alldata = JSON.parse(jsondata);
// 按层级访问:顶层Data属性 -> 其下存储气象记录的data数组
var finaldata = alldata.Data.data;

注意事项

  • JS对象属性访问严格区分大小写,目标数据在大写开头的Data属性下,不能写为小写data,否则会返回undefined
  • 不需要在取值时额外包裹方括号:如果写为[alldata.Data.data],得到的是一个长度为1的外层数组,其内部唯一元素才是你需要的气象记录数组,会影响后续遍历、数据处理逻辑
  • 如果无法保证接口返回的JSON结构完全稳定,可以用可选链操作符做容错,避免中间某层属性缺失导致代码报错:
// 任意一级属性不存在时会返回undefined,这里兜底为空数组方便后续处理
var finaldata = alldata?.Data?.data || [];

取值完成后可以执行console.log(finaldata)在控制台打印结果校验,正常输出的数组中,每一项都能看到Date、windDir、tmed、wind这些气象字段。

内容的提问来源于stack exchange,提问作者Martín

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 10:24:13