JSON中能否使用多行键/值对?多行字符串可作为键值吗?
JSON中能否使用多行字符串作为键/值对?
结论:标准JSON不允许直接使用多行字符串作为键或值
你示例里的写法是JavaScript对象字面量,不是严格的JSON格式——JS语法允许字符串内直接换行,但JSON有严格的语法规范,不支持这种写法。
具体说明:
- 标准JSON要求所有字符串(包括键和值)必须用双引号包裹,且不能直接包含换行符。如果需要表示换行,必须用转义字符
\n来替代实际的换行。 - 你遇到的键显示
↵、值显示\n的差异,是因为解析工具对非标准JSON的兼容处理:部分工具会保留键里的原始换行符(可视化显示为↵),而自动把值里的换行转义为\n,但这种处理并不符合JSON规范,换个严格的解析器可能直接报错。
正确的JSON写法
如果要表示带换行的键或值,必须将换行转义为\n,示例如下:
{ "awe\nsdsds": "eweq\ndfs\newewew" }
区分JavaScript对象和JSON
你示例中的代码是JS对象,JS语法允许字符串内直接换行(只要在引号范围内),但JSON是跨语言的数据交换格式,必须遵循严格的语法规则,二者不能混为一谈。
内容的提问来源于stack exchange,提问作者Ankit Rawat
相关产品推荐
相关产品推荐

