发布
社区首页 >问答首页 >JSON中允许多行字符串吗?

JSON中允许多行字符串吗?
EN

Stack Overflow用户
提问于 2010-03-06 22:29:53
回答 8查看 899K关注 0票数 845

在JSON中可以有多行字符串吗?

这主要是为了视觉上的舒适,所以我想我可以在我的编辑器中打开自动换行,但我只是有点好奇。

我正在编写一些JSON格式的数据文件,并希望将一些非常长的字符串值拆分为多行。使用python的JSON模块时,不管是使用\还是\n进行转义,我都会遇到很多错误。

EN

回答 8

Stack Overflow用户

发布于 2010-03-06 23:04:27

JSON不允许真正的换行符。您需要用\n替换所有的换行符。

例如:

"first line second line"

可以使用以下方式保存:

"first line\nsecond line"

注意:

对于Python,这应该写成:

"first line\\nsecond line"

其中python用于转义反斜杠,否则\\将把\n视为控制字符“换行”。

票数 518
EN

Stack Overflow用户

发布于 2018-09-28 22:35:03

不幸的是,这里的许多答案都解决了如何在字符串数据中放入换行符的问题。问题是如何通过将字符串值拆分到多行代码来使代码看起来更美观。(即使是认识到这一点的答案也提供了“解决方案”,这些“解决方案”假设一个人可以自由地更改数据表示形式,但在许多情况下,人们不能这样做。)

更糟糕的是,没有好的答案。

在许多编程语言中,即使它们不显式地支持跨行拆分字符串,您仍然可以使用字符串连接来获得所需的效果;只要编译器不是很糟糕,这就很好。

但是json不是一种编程语言;它只是一种数据表示。你不能告诉它连接字符串。它的(相当小的)语法也不包括任何在多行上表示字符串的工具。

由于缺少设计某种类型的预处理器(就我而言,我不想有效地编写自己的语言来解决这个问题),所以没有一个通用的解决方案来解决这个问题。如果可以更改数据格式,则可以替换字符串数组。否则,这是json不是为人类可读性而设计的众多方式之一。

票数 271
EN

Stack Overflow用户

发布于 2014-12-03 02:58:27

JSON不允许为了可读性而换行。

您最好的选择是使用可以为您自动换行的IDE。

票数 68
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2392766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档