2014-04-22 15 views
5
import requests 
r = requests.get('http://httpbin.org/get'); 
r.text 

lợi nhuận:Python: có được thuộc tính từ trở lại chuỗi JSON

u'{\n "url": "http://httpbin.org/get",\n "headers": {\n "Host": "httpbin.org",\n "Accept-Encoding": "gzip, deflate, compress",\n "Connection": "close",\n "Accept": "*/*",\n "User-Agent": "python-requests/2.2.1 CPython/2.7.5 Windows/7",\n "X-Request-Id": "db302999-d07f-4dd6-8c1e-14db45d39fb0"\n },\n "origin": "61.228.172.190",\n "args": {}\n}' 

Làm thế nào có thể nhận được các giá trị originheaders/Host?

cảm ơn

Trả lời

13

Số tiền được trả về là một chuỗi JSON; bạn cần phải phân tích nó trước khi bạn có thể sử dụng nó một cách thuận tiện. Yêu cầu có thể làm điều này cho bạn nếu bạn gọi r.json() thay vì r.text.

Sau đó, nó chỉ là một vấn đề thực hiện:

resp = r.json() 
print resp['origin'] 
print resp['headers']['Host'] 
+6

'r.text' có thể sử dụng một mã hóa ký tự sai, chỉ cần sử dụng 'r.json()' luôn – jfs

+1

cảm ơn, tốt để biết! –

+0

tại sao tôi nhận được chuỗi từ json()? – Crusader

Các vấn đề liên quan