JSON 密钥名称中的哪些字符有效/无效?

2022-08-30 01:16:24

对于 JavaScript 对象或 JSON 字符串,键名中是否有任何禁止的字符?还是需要转义的字符?

更具体地说,我想在键名中使用“$”,“-”和空格。


答案 1

不。任何有效的字符串都是有效的密钥。只要你逃避它,它甚至可以有:"

{"The \"meaning\" of life":42}

在将这些值加载到某些语言中时可能会遇到困难,这些语言会尝试将键与对象字段名称相关联。然而,我不知道任何这样的案例。


答案 2

必须在 JSON 数据中对以下字符进行转义,以避免出现任何问题:

  • "(双引号)
  • \(反斜杠)
  • 所有控制字符,如 、\n\t

JSON解析器可以帮助您处理JSON。