我正在使用Python中的CSV文件阅读此文本。
Hi there,
This is a test.
并将其存储到变量text
。
我正在尝试使用json.dump()在JSON文件中编写此变量,但它正在转换为:
'\ ufeffHi那里,\ n \ n \ xa0 \ n \ n这是一个测试。
如何让我的JSON文件看起来像下面那样?:
{
"text": "Hi there,
This is a test."
}
答案 0 :(得分:2)
JSON不允许真正的换行符。如果你仍然想要使用它们,你将不得不制作自己的" json"作家。
编辑:这里的函数将采用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 '}'
答案 1 :(得分: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."
]
}
反序列化之后,你必须把换行符放回去。