Câu hỏi Làm cách nào để yêu cầu và xử lý JSON bằng python?


Tôi đang cố gắng gửi một yêu cầu GET đến một URL mà tôi biết trả về dữ liệu dưới dạng JSON sử dụng python.

Tôi muốn biết cách gửi yêu cầu này đến http://someurl/path/to/jsonvà cách phân tích cú pháp - tốt nhất là dùng dict.


76
2018-05-12 09:28


gốc


tôi có thể yêu cầu bạn chuyển câu trả lời được chấp nhận của bạn bằng cách sử dụng yêu cầu không? - webjunkie
Chắc chắn, đó là cách tôi sẽ làm điều đó ngày hôm nay :) - sa125


Các câu trả lời:


Đối với bất kỳ thứ gì có yêu cầu URL bạn có thể muốn xem yêu cầu. Đối với JSON nói riêng:

>>> import requests
>>> r = requests.get('https://github.com/timeline.json')
>>> r.json()
[{u'repository': {u'open_issues': 0, u'url': 'https://github.com/...

104
2017-09-13 08:22



chạy nó với $ python GetJson.py  không đưa ra bất kỳ phản hồi nào nhưng điều tương tự khi chạy từng cái một trên CLI python hoạt động tốt. sai lầm tôi đã làm trong khi đặt nó trong một .py? (m một noob trong python) - prayagupd
Vấn đề tôi gặp phải với điều này, đó là các trình tuần tự DjangoRestFramework không chấp nhận điều này là json hợp lệ, do tiền tố 'u' trước các phím. - wobbily_col
@PrayagUpd cũ, và bạn có thể tìm thấy nó ra, nhưng đối với bất cứ ai khác tự hỏi về nó: trong một .py tập tin cần phải print(r.json()) để xem câu trả lời. - Antti Haapala


Thư viện chuẩn của Python có json và urllib2 mô-đun.

import json
import urllib2

data = json.load(urllib2.urlopen('http://someurl/path/to/json'))

70
2018-05-12 09:35



Đây là một câu hỏi cũ, nhưng tôi muốn tham gia vào webjunkie và chỉ ra rằng vào năm 2012, thư viện Yêu cầu: HTTP cho con người là một câu trả lời có khả năng thích hợp hơn. docs.python-requests.org/en/latest - Peter Hanley
Bạn chắc chắn nên sử dụng các yêu cầu. - hughdbrown