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

Google Apps Script中JSON.parse将"0XBTC"转为11的问题排查与解决

问题:JSON.parse解析时键名"0XBTC"被转为数字11的原因与解决方法

问题描述

从API获取的JSON结构如下:

{
    "data": {
        "artemis_ids": {},
        "symbols": {
            "0XBTC": {
                "price": 2.37
            }
        }
    }
}

在Google Apps Script中执行以下代码时,控制台输出显示键名"0XBTC"被意外转换为数字11:

console.log("content", content);
console.log("content json", JSON.parse(content));

原因分析

这是Google Apps Script控制台的显示bug,并非JSON.parse本身的问题:

  • 控制台在渲染对象时,会错误地将以0X开头的键名识别为十六进制数,0XB对应的十进制值是11,所以显示时截断了后续字符并替换成了11。
  • 实际上JSON.parse解析后的对象键名仍然是字符串"0XBTC",并没有被修改,只是控制台的展示出了问题。

解决方法

  • 验证真实键名:通过Object.keys()方法查看解析后对象的键名,确认键名未被篡改:
    const parsedData = JSON.parse(content).data.symbols;
    console.log("真实键名:", Object.keys(parsedData)); // 输出 ["0XBTC"]
    
  • 正确查看完整对象:如果需要查看完整的对象结构,将解析后的对象转为JSON字符串再打印,避免控制台的错误解析:
    console.log("完整解析结果:", JSON.stringify(JSON.parse(content), null, 2));
    
  • 业务逻辑不受影响:实际代码中使用键名"0XBTC"访问属性时完全正常,不需要修改解析逻辑,只需注意控制台的显示误导即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 20:50:07