用符号符号解析JSON w/@(arobase)

use*_*596 21 javascript json titanium at-sign

我的JSON对象的计算结果为:

{ "@io": IO, "@type": XXX }
Run Code Online (Sandbox Code Playgroud)

如果调用此变量my_json,如何访问@typeXXX 的值?我试过my_json.@type,但这是错误的.帮助赞赏.谢谢,

缺口

JAA*_*lde 35

使用带有字符串的方括号表示法:

var XXXValue = my_json['@type'];
Run Code Online (Sandbox Code Playgroud)

当您在变量中具有属性名称时,可以使用相同的名称.使用相同的示例:

var propertyName = '@type';
var XXXValue = my_json[propertyName];
Run Code Online (Sandbox Code Playgroud)

  • 相当古老的问题,但它出现在Google搜索中.JSON中的@符号是JSON-LD(关联数据的JSON).http://en.wikipedia.org/wiki/JSON-LD (2认同)
  • 当您将 XML 转换为 JSON 时,经常会使用 @ 符号,即节点的属性将映射到 @,因此 <product id="p1"/> 将生成带有 "@id":"p1" 的 JSON (2认同)

Spu*_*ley 9

正如您所发现的,您不能在Javascript变量名中使用@符号,这my_json.@type是无效的.

对您而言,好消息是您可以将变量作为数组下标访问.你会这样做:

my_json["@type"]
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.