JSON对象中的map键

时间:2018-02-06 23:30:09

标签: javascript json

可以将JSON中的表单键从双引号中的键更改为不带引号的键吗?

let a = {
   "key1": "value1",
   "key2": "value2",
   "key3": "value3"
}

let b = {
    key1: "value1",
    key2: "value2",
    key3: "value3"
}

1 个答案:

答案 0 :(得分:1)

这是一个有效的JavaScript对象,但它无效JSON:

let b = {
    key1: "value1",
    key2: "value2",
    key3: "value3"
}

如果你正在编写JavaScript,你可以毫无问题地这样做。

您还可以使用单引号或重音符号。这些都是有效的:

let b = {
    key1: 'value1',
    key2: 'value2',
    key3: 'value3'
}

let b = {
    key1: `value1`,
    key2: `value2`,
    key3: `value3`
}

在某些情况下,您需要包含单个,双重或重音符号。例如,当您的键以数字开头或其中包含空格时

你需要它们:

let obj = {
  '0key': 'value'
}

和此:

let obj = {
  'john smith': 'value'
}

以下是一些补充说明:

当您询问它是否有效时,请考虑dot notation

b.key1是有效的点表示法,但b.0不是,b.john smith也不是。

另一种表示法是bracket notation,它允许您引用不使用点表示法的键。

b['key1']是有效的括号表示法,b['0']b['john smith']也是如此。