尝试从属性键包含破折号字符 (-) 的 JSON 对象检索值时会出现此问题。例如,考虑以下 JSON:
{ "profile-id":1234, "user_id":6789 }
如果我们尝试使用点表示法(即 jsonObj.profile-id)访问“profile-id”属性,我们会遇到错误“ReferenceError: ' id' 未定义。”
在 JavaScript 中,属性键为对象只能包含某些字符,包括字母、数字和下划线。破折号不是这些允许的字符之一。点表示法会自动将带有破折号的属性键转换为减法表达式(即 jsonObj.profile - id)。
要克服此限制,我们可以使用括号访问对象属性的表示法。括号表示法允许我们将属性键指定为字符串。要访问“profile-id”属性,我们可以使用以下语法:
jsonObj["profile-id"]
下面是一个示例,演示如何使用括号表示法来访问带有破折号字符的属性:
const jsonObj = { "profile-id": 1234, "user_id": 6789, }; console.log(jsonObj["profile-id"]); // Output: 1234
以上是如何访问包含破折号的 JSON 对象属性?的详细内容。更多信息请关注PHP中文网其他相关文章!