python – 支持多行字符串的基于文本的数据格式

我搜索支持多行字符串的基于文本的数据格式。

JSON不允许多行字符串:

>>> import json
>>> json.dumps(dict(text='first line\nsecond line'))
'{"text": "first line\\nsecond line"}'

我想要的输出:

{"text": "first line
second line"}

这个问题是关于输入和输出。数据格式应该是编辑器,如vi,emacs或记事本。

我不在乎如果简单的引号“或triple引号(如Python)”“被使用。

是否有一个容易的人类可读文本数据交换格式支持这一点?

用例

我想用vi编辑具有多行字符串的数据。这不是很有趣,如果数据是json格式。

我认为你应该考虑YAML格式。它支持这样的able to preserve newlines的块符号

data: |
   There once was a short man from Ealing
   Who got on a bus to Darjeeling
       It said on the door
       "Please don't spit on the floor"
   So he carefully spat on the ceiling

此外,还有许多解析器适用于任何类型的编程语言,包括python(即pyYaml)。

还有一个巨大的优势,任何有效的JSON is YAML

翻译自:https://stackoverflow.com/questions/38993265/text-based-data-format-which-supports-multiline-strings

转载注明原文:python – 支持多行字符串的基于文本的数据格式