访问JSON中HW-REVISION时出现ReferenceError: REVISION未定义求助
问题原因与解决方案
这个问题很常见!你碰到的ReferenceError: REVISION未定义,本质是JavaScript属性访问语法的规则限制导致的:
当JSON属性名包含连字符(比如HW-REVISION)时,不能使用点号.来访问属性——因为JavaScript会把HW-REVISION解析成HW变量减去REVISION变量,而你根本没定义REVISION这个变量,所以直接抛出了引用错误。
修正后的代码
只需要把点语法改成方括号+字符串包裹属性名的形式即可:
pm.test("To verify that deviceinfo hardware revision is given as expected", function(){ var jsonData = pm.response.json(); pm.expect(jsonData.data.device.deviceInfo["HW-REVISION"]).to.eql("42"); });
补充说明
JavaScript的点语法仅适用于符合「合法标识符」规则的属性名:
- 不能包含连字符、空格等特殊字符
- 不能是JavaScript关键字(比如
if、for) - 不能以数字开头
对于不符合规则的属性名,必须用对象["属性名"]的方括号语法来访问,这也是处理这类特殊命名属性的标准做法。
内容的提问来源于stack exchange,提问作者Dipesh Raut
相关产品推荐
相关产品推荐

