2014-05-18 131 views
29

我知道pprint python標準庫是用於漂亮的打印python數據類型。但是,我總是檢索json數據,而且我想知道是否有簡單快捷的方式來漂亮地打印json數據?在python(pythonic方式)漂亮打印json

沒有漂亮的印刷:

import requests 
r = requests.get('http://server.com/api/2/....') 
r.json() 

漂亮的印刷:

>>> import requests 
>>> from pprint import pprint 
>>> r = requests.get('http://server.com/api/2/....') 
>>> pprint(r.json()) 
+0

你爲什麼不使用' pprint'? – thefourtheye

+0

在你的例子中,你不打印任何地方的JSON。你解碼它(通過執行'r.json()'),所以它只是一個Python數據結構。那麼你想要打印什麼呢? Python數據結構還是JSON? –

+0

嗯你是對的。兩種情況。 – autorun

回答

57

Python的內置JSON module可以處理你:

>>> import json 
>>> a = {'hello': 'world', 'a': [1, 2, 3, 4], 'foo': 'bar'} 
>>> print(json.dumps(a, indent=2)) 
{ 
    "hello": "world", 
    "a": [ 
    1, 
    2, 
    3, 
    4 
    ], 
    "foo": "bar" 
}