每當我嘗試從python打印出json時,它都會忽略換行符並打印文本字符串「\ n」而不是換行符。不能從python漂亮打印json
我使用jinja2生成json。這裏是我的代碼:
print json.dumps(template.render(**self.config['templates'][name]))
它打印出在下面的塊的一切(字面意思 - 即使引號和 「\ n」 的字符串):
"{\n \"AWSTemplateFormatVersion\" : \"2010-09-09\",\n \"Description\" : ...
(截)
我得到的東西每當我嘗試轉儲除字典之外的任何內容時都會這樣。即使我嘗試json.loads()然後再次轉儲它,我得到垃圾。它只是去除所有換行符。
怎麼回事?
不,這不起作用。它沒有解決這個問題,因爲'print'實際上打印了「\ n」而不是換行符。 – user1491250 2013-05-01 14:14:29
如果使用JSON-_object_(或者python中的dict)作爲'json.dumps()'的輸入,它會起作用。如果你已經有了一個以字符串表示的JSON對象,那麼你不再需要'json.dumps()'。如果我運行'dat = json.loads(payload.content)',其中'type(payload)'是 ''和'type(dat)'是 '', –
felixbr
2013-05-01 14:28:54
' 'json.dumps(dat,indent = 4)'仍然在控制檯輸出中顯示'\ n'字符,'json.dumps(payload.content,indent = 4)'顯示一大堆'\'字符,縮進。我在這裏錯過了什麼嗎?編輯:是的,看起來像我必須做'打印(json.dumps(dat,indent = 4))'讓它在交互式控制檯會話中工作。 – user5359531 2017-04-27 01:44:21