Python

Buat Respons JSON dengan Python

Buat Respons JSON dengan Python

File JSON (JavaScript Object Notation) adalah media yang sangat populer untuk bertukar data antara format yang berbeda. Ini berisi data dalam format teks yang didukung oleh berbagai bahasa seperti Python, PHP, PERL, dll. Tujuan utama file JSON adalah untuk mentransfer data antara server dan klien. Permintaan dihasilkan oleh Python untuk mengambil data dari URI sumber daya tertentu. Jika respons permintaan dikembalikan dalam format JSON maka konten respons dapat diambil menggunakan respons.fungsi json(). Ini mengembalikan respons dengan menggunakan objek kamus Python. Bagaimana fungsi ini dapat digunakan untuk mengurai respons JSON menggunakan pustaka permintaan Python akan ditampilkan dalam tutorial ini.

Tanggapan JSON:

Modul permintaan Python berisi dekoder JSON untuk bekerja dengan data JSON. Responnya.fungsi json() mengembalikan respons JSON jika dekoder JSON berfungsi dengan baik. Responnya.Fungsi json() memunculkan pengecualian jika decoder JSON gagal dan respons JSON tidak berisi data apa pun atau data yang tidak valid. Nilai kembalian dari respons.fungsi raise_for_status() atau respons.status_code harus diperiksa sebelum menjalankan respons.fungsi json().

Penggunaan respons yang berbeda.json():

Tiga kegunaan berbeda dari respons.Fungsi json() akan ditampilkan di bagian tutorial ini.

Contoh-1: Penggunaan respons yang sederhana.json()

Penggunaan respons yang sederhana.fungsi json() akan dijelaskan dalam contoh ini. Tanggapan untuk mendapatkan permintaan URI, https://api.github.com/ disimpan dalam variabel bernama response. Selanjutnya, nilai variabel respon diperiksa. Jika variabel respons berisi respons yang tidak valid, maka itu akan mencetak pesan kesalahan. Jika variabel respons berisi respons yang valid yang merupakan kode status respons dan isinya, pesan sukses akan dicetak.

# Modul permintaan impor
permintaan impor
# Buat permintaan dapatkan
tanggapan = permintaan.dapatkan('https://api.github.com/')
# Periksa tanggapannya
jika respon:
# Cetak kode status respons
print('Kode status jawaban adalah %d' %respon.Kode status)
# Cetak konten JSON
print('Isi JSON adalah: \n%s' %respon.json())
# Cetak pesan sukses
print('\nPermintaan berhasil ditangani.')
lain:
# Cetak pesan kesalahan untuk respons yang tidak valid
print('Jawaban salah.')

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas:.

Contoh-2: Penggunaan respons.json() dengan penanganan pengecualian

Cara menggunakan respons.json() fungsi dengan penanganan pengecualian akan ditampilkan dalam contoh ini. Modul HttpError diimpor dengan modul permintaan dalam skrip untuk menangani pengecualian. Di sini, alamat URI akan diambil dari pengguna untuk menggunakan permintaan.dapatkan () fungsi. Respons dari permintaan ini akan disimpan dalam variabel respons. Selanjutnya, tanggapan.fungsi raise_for_status() digunakan untuk memeriksa respons permintaan apakah valid atau tidak valid. Jika responsnya tidak valid, maka pengecualian akan dibuat dan kode dari blok apa pun kecuali akan dieksekusi berdasarkan pengecualian. Jika respon valid, maka isi variabel respon akan di-iterasi menggunakan for loop untuk mencetak nilai kamus pada setiap baris yang berisi data respon.

# Modul permintaan impor
permintaan impor
# Impor HTTPError untuk penanganan pengecualian
dari permintaan.pengecualian impor HTTPError
# Tentukan URI
uri = input('Masukkan URI yang valid:\n')
# Cetak pesan menunggu
print('Menunggu jawaban... \n')
mencoba:
# Buat permintaan get untuk membaca konten feed github
tanggapan = permintaan.dapatkan (uri)
# Naikkan exception jika respon tidak berhasil
tanggapan.naikkan_untuk_status()
# Baca konten JSON
jsonResponse = tanggapan.json()
print("Isi JSON adalah: \n")
# Baca dan cetak setiap pasangan nilai kunci dari respons JSON
untuk kunci, nilai dalam jsonResponse.item():
cetak(kunci, ":", nilai)
# Cetak pesan kesalahan untuk kesalahan HTTP
kecuali HTTPError sebagai http_err:
print('Terjadi kesalahan HTTP: %s' %http_err)
# Cetak pesan kesalahan untuk kesalahan HTTP
kecuali Pengecualian sebagai err:
print('Terjadi kesalahan lain: %s' %err)

Keluaran:

Output berikut akan muncul setelah menjalankan skrip ketika nilai URI yang tidak ada akan diberikan oleh pengguna. Di sini, pengecualian HTTPError telah dibuat bersama dengan pesan kesalahan yang sesuai.


Output berikut akan muncul setelah menjalankan skrip ketika nilai URI yang tidak valid akan diberikan oleh pengguna. Di sini, pengecualian lain telah dibuat dengan pesan kesalahan yang sesuai.

Output berikut akan muncul setelah menjalankan skrip ketika nilai URI yang valid akan diberikan oleh pengguna. Di sini, konten JSON telah dicetak dengan benar.

Contoh-3: Penggunaan respons.json() dengan string kueri

Cara menggunakan respons.json() fungsi dengan string kueri akan ditampilkan dalam contoh ini. Di sini, permintaan.get() fungsi menggunakan nilai string kueri dengan URI menggunakan params. Ini akan mencari entri untuk bahasa PERL di repositori yang diberikan. Jika variabel respons berisi respons yang valid maka nama dan deskripsi repositori akan dicetak, jika tidak, akan ada pesan kesalahan.

# Modul permintaan impor
permintaan impor
# Mencari di repositori github menggunakan string kueri
tanggapan = permintaan.Dapatkan(
'https://api.github.com/search/repositori',
params='q': 'permintaan+bahasa:perl',
)
# Periksa tanggapannya
jika tanggapan:
# Baca konten JSON
json_respons = tanggapan.json()
# Baca item repositori tertentu
repositori = json_response['item'][0]
# Cetak nama repositori
print('Nama repositori: %s' %repositori["nama"])
# Cetak deskripsi repositori
print('Deskripsi repositori: %s' %repository["deskripsi"])
lain:
# Cetak pesan kesalahan untuk respons yang tidak valid
print('Jawaban salah.')

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas:. Nama dan deskripsi repositori untuk bahasa PERL telah dicetak di sini.

Kesimpulan:

Berbagai cara untuk mengirim permintaan ke URI tertentu dan membaca respons menggunakan respons.Fungsi json() ditampilkan dalam tutorial ini menggunakan contoh sederhana. Saya harap tutorial ini akan membantu pembaca untuk memahami penggunaan respons JSON di Python dan menerapkannya dengan benar dalam skrip mereka saat diperlukan.

SuperTuxKart untuk Linux
SuperTuxKart adalah judul hebat yang dirancang untuk memberi Anda pengalaman Mario Kart gratis di sistem Linux Anda. Ini cukup menantang dan menyenang...
Pertempuran untuk Tutorial Westnoth
The Battle for Wesnoth adalah salah satu game strategi open source terpopuler yang bisa kamu mainkan saat ini. Tidak hanya game ini telah dikembangkan...
0 A.D. tutorial
Dari sekian banyak game strategi di luar sana, 0 A.D. berhasil menonjol sebagai judul yang komprehensif dan permainan taktis yang sangat dalam meskipu...