JSON元素能否以-开头并在javascript中引用

Can a JSON element start with a - and be referenced in javascript?

本文关键字:javascript 引用 开头 元素 JSON      更新时间:2023-09-26

所以我有这个JSON,它是从xml文件自动转换而来的,元素都以'-'开头。例如name就是-name。

下面是一个示例代码:

 "Object": {
          "-color": "0xAAAAAA",
          "-lineSize": "4",
          "-letterSymbol": "L"
}

假设Object在js中的变量对象中。有办法打电话吗->object.-color以获得颜色?这种方法不起作用,但有其他选择吗?或者我需要更改JSON对象吗?

使用括号表示法:

object["-color"]

正如您所发现的,带有-或其他符号的键会混淆javascript解析器。所以,除非你的键完全是字母数字,否则你需要使用括号符号系统。

此外,如果你需要进一步"深入",那么你可以这样做:

object["-color"]["descendant"]["etc"]

是的,这是有效的JSON,所以要回答标题中的问题,是的,名称可以以-开头。根据规范,名称是一个字符串,它被定义为(部分(由"任何UNICODE字符"组成。

在您的情况下,要访问它,您需要使用括号符号,而不是点符号:

object["-color"]