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

如何访问解析后JSON的嵌套属性并存入自定义JavaScript对象

问题说明

你当前的属性访问路径有误。JSON.parse处理后得到的表格数据中,data.json.table.rows是行级数组,单条行数据的实际内容存储在行对象的c字段(列数组)中,每一列的有效值存储在列对象的v字段下,直接读取data.json.table.rows[2]拿到的是整行的包装对象,不是你需要的文本值。

正确实现代码
var data = {
    json: '',
    text: '',
    welcome: '',
    q1: '',
}

let foo = await fetch(spreadsheet);
data.text = await foo.text();
data.json = JSON.parse(data.text.substr(47).slice(0, -2))
// 先定位到目标行
const currentRow = data.json.table.rows[2]
// 按列索引读取对应有效值,可选链避免空值报错
data.welcome = currentRow.c[1]?.v || ''
data.q1 = currentRow.c[2]?.v || ''

console.log(data.welcome, data.q1)
取值逻辑说明
  • 层级对应关系:表格根对象 -> rows行数组 -> 单条行对象 -> c列数组 -> 单列对象 -> v实际值
  • 数组索引从0开始计数,你给出的行结构示例中:
    • c[1].v 对应内容为2. Pagos
    • c[2].v 对应问题1的描述文本
    • c[4].v 对应该行存储的表单链接
  • 代码中加入的?.可选链和|| ''默认值,是为了避免目标行/列不存在时抛出JS运行时错误,保证字段值和初始化时的字符串类型一致。
  • 如果需要取其他位置的内容,先打印data.json.table.rows确认目标内容所在的行索引、列索引,修改对应位置的数字即可。

内容的提问来源于stack exchange,提问作者SchraderNM

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 13:19:06