Saya ingin secara dinamis meminta Google Maps melalui Google Directions API. Sebagai contoh, permintaan ini menghitung rute dari Chicago, IL ke Los Angeles, CA melalui dua titik jalan di Joplin, MO dan Kota Oklahoma, OK:
Ini mengembalikan hasil dalam format JSON .
Bagaimana saya bisa melakukan ini dengan Python? Saya ingin mengirim permintaan seperti itu, menerima hasilnya dan menguraikannya.
json=params
alih - alihparams=params
atau saya mendapatkan kesalahan 500.The
requests
modul Python membutuhkan perawatan dari kedua mengambil data JSON dan decoding itu, karena decoder builtin JSON nya. Berikut ini contoh yang diambil dari dokumentasi modul :Jadi tidak ada gunanya harus menggunakan beberapa modul terpisah untuk mendekode JSON.
sumber
json.load()
ataujson.loads()
sebagai gantinya, seperti dalam 0.x,json
adalah properti daripada fungsi.python-requests
(ataupython3-requests
) paket, jadi Anda perlu menginstal di tempat lain daripada/usr/local
menghindari melanggar paket-paket itu. Di sisi lain, ketika portabilitas / kompatibilitas sepele, menurut saya itu sepadan.r.json()
(dari jawaban saya) Anda memiliki respons aktual, JSON-decoded. Anda dapat mengaksesnya seperti biasalist
/dict
;print r.json()
untuk melihat tampilannya. Atau lihat dokumentasi API dari layanan yang Anda minta.requests
memiliki.json()
metode bawaansumber
sumber
urllib.request
dalam Python 3.Gunakan pustaka permintaan, cukup cetak hasilnya sehingga Anda bisa lebih baik menemukan kunci / nilai yang ingin Anda ekstrak, dan kemudian gunakan nested for loop untuk mem-parsing data. Dalam contoh ini saya mengekstrak petunjuk langkah demi langkah mengemudi.
sumber
import pprint
lalu ->pprint.pprint(step['html_instructions'])
Coba ini:
sumber
Juga untuk Json cantik di konsol:
mungkin menggunakan dump dengan indent. (Harap impor json )
sumber