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

POSTMAN解析以数字开头的JSON键值报错问题解决咨询

问题

在Postman中解析API返回的JSON响应时,需要提取一个以数字开头的键值。响应示例如下:

"data": {
   "354a24d506af956a0ccf14444b18da38834eabbd": "very good"
}

使用以下代码时出现错误:

var jsonData = JSON.parse(responseBody);
postman.setGlobalVariable("poziomoceny", jsonData.data.354a24d506af956a0ccf14444b18da38834eabbd);

错误提示:

an identifier or keyword cannot immediately follow a numeric literal

尝试了以下写法也无效:

postman.setGlobalVariable("poziomoceny", jsonData.data.(354)a24d506af956a0ccf14444b18da38834eabbd);
var po = "354a24d506af956a0ccf14444b18da38834eabbd";
postman.setGlobalVariable("poziomoceny", jsonData.data.po);

请问该如何解决?

解决方法

在JavaScript中,访问以数字开头或包含特殊字符的对象属性时,不能使用.点语法,必须使用方括号[]语法,以下两种写法都有效:

  1. 直接将键名以字符串形式传入方括号:
var jsonData = JSON.parse(responseBody);
postman.setGlobalVariable("poziomoceny", jsonData.data["354a24d506af956a0ccf14444b18da38834eabbd"]);
  1. 先将键名存入变量,再通过变量访问:
var jsonData = JSON.parse(responseBody);
var key = "354a24d506af956a0ccf14444b18da38834eabbd";
postman.setGlobalVariable("poziomoceny", jsonData.data[key]);

之前写法无效的原因

  • 点语法要求属性名必须是合法的JavaScript标识符(不能以数字开头),所以jsonData.data.354xxx的写法会触发语法错误。
  • jsonData.data.(354)a24xxx是完全不符合JavaScript语法的写法,自然无法运行。
  • jsonData.data.po是在访问对象中名为po的属性,而非变量po存储的键名,必须用方括号包裹变量才能读取对应的值。

内容的提问来源于stack exchange,提问作者Cezary Kubiski JW-A

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:41:59