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

Node.js中如何获取含数字键的Steam API JSON数据?

解决Node.js中访问数字键JSON属性的问题

嘿,我完全懂你碰到的这个困扰!当从Steam API拿到的JSON里,第一个键是纯数字(比如367520)时,用.点语法去访问确实会报错——这是JavaScript本身的语法规则限制,不是你的问题哦!

为什么body.367520会报错?

JavaScript里,用点符号访问对象属性时,属性名必须是有效的标识符:不能以数字开头、不能包含空格或特殊字符(除了下划线和$)。纯数字的键显然不符合这个要求,所以直接写body.367520会触发语法错误。

两种可行的解决方法

1. 用方括号语法访问

这是最直接的解决方案,把数字键用引号包裹后放在方括号里:

// 假设你已经拿到了解析后的JSON响应体body
const gameInfo = body['367520'];
// 现在就能正常访问里面的属性了
console.log(gameInfo.success); // 输出true/false
console.log(gameInfo.data.name); // 输出游戏名称

2. 解构赋值时使用别名

如果你想让代码更简洁易读,可以在解构的时候给数字键起一个语义化的别名:

const { '367520': hollowKnightData } = body;
// 之后直接用别名访问就好
console.log(hollowKnightData.data.price_overview);

额外技巧:动态键的处理

如果你的appid是动态变化的(比如要批量请求多个游戏数据),可以把appid存在变量里,再用变量访问:

const targetAppId = '367520';
const gameData = body[targetAppId];
// 后续换其他appid只需要修改targetAppId变量即可

最后别忘了确认一下:你拿到的body已经是解析后的JSON对象,而不是原始字符串。如果还是字符串的话,得先用JSON.parse(body)转成对象再操作哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:10:49