如何在多行中添加JSON值
如何在多行中添加JSON值
在JSON中是否可能有多行字符串?
主要是为了视觉舒适度,所以我想我只需在编辑器中打开自动换行即可,但我还是有点好奇。
我正在使用JSON格式编写一些数据文件,并希望将一些非常长的字符串值拆分为多行。使用Python的JSON模块,我遇到了很多错误,无论我是使用\\
还是\\n
作为转义字符。
admin 更改状态以发布 2023年5月22日
不幸的是,这里的很多答案都回答了如何在字符串数据中插入换行符的问题。问题是如何通过将字符串值跨越多行代码进行拆分来使代码看起来更好看。 (甚至那些认识到这一点的答案也提供了“解决方案”,假设可以随意更改数据表示,但在许多情况下是不允许的。)
更糟糕的消息是,没有好的答案。
在许多编程语言中,即使它们不明确支持跨行拆分字符串,您仍然可以使用字符串连接来获得所需的效果;只要编译器不糟糕,这就可以了。
但JSON不是一种编程语言;它只是一种数据表示。 您无法告诉它连接字符串。它的(相当小的)语法也没有包括表示多行字符串的工具。
除了设计某种预处理器(我个人不想有效地编写自己的语言来解决此问题),没有通用解决方案来解决此问题。如果可以更改数据格式,则可以替换为字符串数组。否则,这是JSON不设计用于人类可读性的众多方式之一。
JSON 不允许真正的换行。你需要用 \n
替代所有的换行。
例如:
"first line second line"
可以保存为:
"第一行\n第二行"
注意:
对 Python
来说,应该写成:
"第一行\\n第二行"
其中,\\
是为了转义反斜杠,否则 Python 会把 \n
视为控制字符“换行符”。