2014-05-18 14 views
29

Tôi biết rằng thư viện chuẩn python pprint là dành cho các kiểu dữ liệu python khá in ấn. Tuy nhiên, tôi luôn lấy dữ liệu json và tôi tự hỏi liệu có cách nào dễ dàng và nhanh chóng để in dữ liệu json đẹp không?json khá in bằng python (pythonic way)

Không khá-in:

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

Với khá-in:

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

Tại sao bạn không sử dụng ' pprint'? – thefourtheye

+0

Trong ví dụ của bạn, bạn không in JSON ở bất cứ đâu. Bạn giải mã nó (bằng cách làm 'r.json()'), do đó, nó chỉ là một cấu trúc dữ liệu Python sau đó. Vì vậy, chính xác những gì bạn muốn in đẹp? Cấu trúc dữ liệu Python hoặc JSON? –

+0

mmm bạn nói đúng. Cả hai trường hợp. – autorun

Trả lời

57

Python BUILTIN JSON module có thể xử lý điều đó cho bạn:

>>> 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" 
}