用python' s json制作漂亮的json字符串

时间:2016-02-15 10:22:19

标签: python json

我正在使用python' json生成一个json文件,无法按照我想要的方式设置它。

我所拥有的是带有一些键的字典,每个键都附有一个数字列表:

out = {"a": [1,2,3], "b": [4,5,6]}

我想要做的是生成一个JSON字符串,其中每个列表都在它自己的行中,如下所示:

{
    "a": [1,2,3],
    "b": [4,5,6]
}

然而,我只能得到

>>> json.dumps(out)
'{"a": [1, 2, 3], "b": [4, 5, 6]}'

没有新行,或

>>> print json.dumps(out, indent=2)
{
  "a": [
    1, 
    2, 
    3
  ], 
  "b": [
    4, 
    5, 
    6
  ]
}
很多人都喜欢这个。有没有一种简单的方法来生产我想要的字符串?当然,我可以手动完成,但我想知道单独使用json是否可行......

1 个答案:

答案 0 :(得分:1)

你不能用json模块做到这一点,没有。模块的目标永远不是允许对输出进行这么大的控制。

indent选项仅用于帮助调试。 JSON解析器并不关心元素之间使用了多少空格。