用pretty prin在JSON中用新行保存python变量

2024-09-29 19:31:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从Python中的CSV文件中读取此文本。在

Hi there,



This is a test.

并将其存储到一个变量text。在

我试图用json.dump文件(),但它正在转变为:

'\ufeffi那里,\n\n\xa0\n\n这是一个测试。在

如何使我的JSON文件看起来像下面的文件?公司名称:

^{pr2}$

Tags: 文件csvtexttest文本jsonishi
2条回答

可以这样做,比如user1308345 shows in his answer,但是it wouldn't be valid JSON anymore,你可能会在以后反序列化JSON时遇到问题。在

但是如果您真的想这样做,并且仍然想拥有有效的JSON,您可以拆分字符串(并删除新行)并将它们序列化为一个数组,就像这个答案https://stackoverflow.com/a/7744658/1466757

那么您的JSON看起来与此类似

{
 "text": [
    "Hi there,",
    "",
    "",
    "",
    "this is a test."
  ]
}

反序列化之后,您必须将换行符放回原处。在

JSON不允许真正的换行。如果您还想使用它们,那么您就必须创建自己的“json”writer。在

编辑:下面的函数将使用python dict(可以使用json.loads())并按您需要的方式打印它:

def print_wrong_json(dict_object):
    print '{'
    print ',\n'.join(['"{}": "{}"'.format(key, dict_object[key]) for key in dict_object])
    print '}'

相关问题 更多 >

    热门问题