javascript - 如何读取带有 at 符号 (@) 前缀的对象?

标签 javascript jquery json rest

如何打印出 category.uri 的值当对象定义如下:

API

如果我尝试using object[0].category.@uri我收到以下错误:

Uncaught SyntaxError: Unexpected token +

如果我尝试不使用@符号,我会得到:

Uncaught TypeError: Cannot read property 'uri' of undef

基本上:当值前面带有 at 符号时,如何读取该值? at 符号是什么意思,又为什么它首先出现在那里? (在这种情况下,我无法控制我正在使用的 REST-API)

最佳答案

Javascript 有两种对象访问符号(称为 member operators ):点符号和方括号符号。它们是相同的:

document.forms
document['forms']

您始终可以使用方括号表示法,但不能始终使用点表示法。因此,如果您的属性名称不符合标识符规则,则需要使用方括号形式。

object[0].category['@uri']

规则是:

A JavaScript identifier must start with a letter, underscore (_), or dollar sign ($); subsequent characters can also be digits (0-9). Because JavaScript is case sensitive, letters include the characters "A" through "Z" (uppercase) and the characters "a" through "z" (lowercase). (MDN)

关于javascript - 如何读取带有 at 符号 (@) 前缀的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17273478/

相关文章:

javascript - 向 HTML 网站添加 cookie 同意

element.append 中的 JavaScript 变量值

javascript - 如何解决错误 'ext-all.js Uncaught TypeError: Cannot call method ' getProxy' of undefined' ?

javascript - HTML5 视频播放完毕后是否已将自身重置为开始?

javascript - 从一组坐标中找到最近的坐标 "straight ahead"

javascript - 使用 JavaScript 的 Directions Google Map API

java - 使用 GSON 解析 key - 对象 JSON

javascript - 将输入字段值传递到 angularjs $resource undefined 并且错误显示未知范围提供程序

javascript - 将代码部分运行为 html 和文本

java - JSON 编码字符串的键是什么