You need to enable JavaScript to run this app. JavaScript如何访问JSON嵌套数据?代码运行异常问题求助
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript如何访问JSON嵌套数据?代码运行异常问题求助

问题根因

你目前代码的核心错误出在调试逻辑和取值前的校验缺失:

  1. 你写的Object.keys(walletAddress)完全是错误用法:walletAddress是字符串类型,对字符串调用Object.keys返回的就是每个字符对应的下标索引,也就是你看到的0到41的数字,完全不能体现返回的JSON结构。
  2. 你没有校验API返回的JSON结构是否符合你的预期,可能存在API返回空值、钱包地址key不存在、对应数组为空的情况,直接取值就会报错。
  3. 你的API拉取函数里还存在变量名大小写错误:console.log("url is " + URL);中的URL是大写,和你定义的小写url变量不一致,会直接抛出未定义错误。

修正方案

按以下步骤调整代码即可:

  1. 把错误的调试语句替换,打印返回的JSON对象的key,确认钱包地址确实是返回对象的顶层key
  2. 加取值前的类型和长度校验,避免出现未定义报错
  3. 修正变量名大小写错误

修正后的完整代码

function parseTheDataFunctionSushi(walletAddress, networkName){
  // 固定测试参数,后续可改为入参动态传入
  const walletAddress = "0x123454843eacf5c5318e1234504251b937d12345";
  const networkName = "polygon";

  const theparsedJSONdata = pullAndParseAPISushi(walletAddress, networkName);
  // 打印返回的完整结构和顶层key,确认结构符合预期
  console.log("返回的完整JSON:", theparsedJSONdata);
  console.log("JSON顶层key:", Object.keys(theparsedJSONdata)); 

  // 先校验结构再取值
  if (theparsedJSONdata[walletAddress] && Array.isArray(theparsedJSONdata[walletAddress]) && theparsedJSONdata[walletAddress].length > 0) {
    const firstCrack = theparsedJSONdata[walletAddress][0].poolIndex;
    console.log("firstCrack取值结果:", firstCrack);
    // 要取其他字段同理,比如 theparsedJSONdata[walletAddress][0].stakingStrategy
  } else {
    console.log("钱包地址对应数据不存在或为空数组");
  }
}

// 修正后的拉取API函数
function pullAndParseAPISushi (walletAddress, networkName){
  console.log("传入的钱包地址:", walletAddress);
  console.log("传入的网络:", networkName);
  const apiKEY = "96e0cc51-a62e-42ca-acee-910ea7d2a241";
  const url = "https://api.zapper.fi/v1/staked-balance/masterchef?addresses%5B%5D="+ walletAddress + "&network=" + networkName + "&api_key=" + apiKEY;
  console.log("请求URL:", url);
  const response = UrlFetchApp.fetch(url);
  console.log("API原始返回:", response);
  const theparsedJSONdata = JSON.parse(response);
  return theparsedJSONdata
}

运行后先看控制台打印的JSON顶层key是否和你的钱包地址完全一致,如果不一致就用实际打印的key来取值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 16:15:03