[英]Saving python variable with new lines in JSON with pretty print
我正在從Python的CSV文件中讀取此文本。
Hi there,
This is a test.
並將其存儲為可變text
。
我正在嘗試使用json.dump()在JSON文件中寫入此變量,但該變量已轉換為:
'\\ ufeff您好,\\ n \\ n \\ xa0 \\ n \\ n這是一項測試。
如何使我的JSON文件如下所示?:
{
"text": "Hi there,
This is a test."
}
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 '}'
很好,這可以完成,如user1308345在其答案中所示,但它不再是有效的JSON,並且稍后在反序列化JSON時可能會遇到問題。
但是,如果您確實想要這樣做,並且仍然想要有效的JSON,則可以拆分字符串(並刪除新行),並將其序列化為數組,如此答案中所建議的那樣https://stackoverflow.com/a/ 1466757分之7744658
然后您的JSON看起來像這樣
{
"text": [
"Hi there,",
"",
"",
"",
"this is a test."
]
}
反序列化之后,您必須重新插入換行符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.