Chr*_*phe 132 javascript json key object
对于JavaScript对象或JSON字符串,键名中是否有任何禁用字符?还是需要转义的字符?
更具体地说,我想在键名中使用"$"," - "和空格.
Mar*_*tos 152
不.任何有效字符串都是有效密钥.它甚至可以"随你逃脱它:
{"The \"meaning\" of life":42}
Run Code Online (Sandbox Code Playgroud)
您可能会遇到将这些值加载到某些语言中的困难,这些语言尝试将键与对象字段名称相关联.但是,我不知道任何此类案件.
Aru*_*ana 50
必须在JSON数据中转义以下字符以避免任何问题
'单引号
"引用
\反斜杠
所有控制字符,如\n\t
JSON Parser可以帮助您处理JSON.
值得一提的是,虽然使用数字启动密钥是有效的,但可能会导致一些意外问题.
IE:
var testObject = {
"1tile": "test value"
};
console.log(testObject.1tile); // fails, invalid syntax
console.log(testObject["1tile"]; // workaround
Run Code Online (Sandbox Code Playgroud)
必须避免使用Unicode代码点U + D800到U + DFFF:它们在Unicode 中无效,因为它们是为UTF-16代理对保留的.一些JSON编码器/解码器将用U + FFFD替换它们.例如,请参阅Go语言及其JSON库如何处理它们.
因此,单独避免"\ uD800"到"\ uDFFF"(不在代理对中).