piton

Python'da bir JSON Yanıtı Oluşturun

Python'da bir JSON Yanıtı Oluşturun

JSON (JavaScript Object Notation) dosyası, farklı formatlar arasında veri alışverişi yapmak için çok popüler bir ortamdır. Python, PHP, PERL, vb. gibi çeşitli diller tarafından desteklenen metin biçimindeki verileri içerir. JSON dosyasının temel amacı, sunucu ile istemci arasında veri aktarımı yapmaktır. İstekler, belirli bir kaynak URI'sinden verileri almak için Python tarafından oluşturulur. İsteğin yanıtı JSON biçiminde döndürülürse, yanıt kullanılarak yanıtın içeriği alınabilir.json() işlevi. Bir Python sözlük nesnesi kullanarak yanıtı döndürür. Bu işlevin Python istek kitaplığını kullanarak JSON yanıtını ayrıştırmak için nasıl kullanılabileceği bu öğreticide gösterilecektir.

JSON Yanıtı:

Python'un istek modülü, JSON verileriyle çalışacak JSON kod çözücüyü içerir. yanıt.JSON kod çözücüsü düzgün çalışıyorsa json() işlevi bir JSON yanıtı döndürür. yanıt.json() işlevi, JSON kod çözücüsü başarısız olursa ve JSON yanıtı herhangi bir veri veya geçersiz veri içermiyorsa istisnayı yükseltir. Yanıtın dönüş değeri.boost_for_status() işlevi veya yanıt.yanıt yürütülmeden önce durum_kodu kontrol edilmelidir.json() işlevi.

Yanıtın farklı kullanımları.json():

Yanıtın üç farklı kullanımı.json() işlevi öğreticinin bu bölümünde gösterilecektir.

Örnek-1: Yanıtın basit kullanımı.json()

Yanıtın basit kullanımı.json() işlevi bu örnekte açıklanacaktır. URI'nin alma isteğinin yanıtı, https://api.github.com/, yanıt adlı bir değişkende saklanır. Ardından, yanıt değişkeninin değeri kontrol edilir. Yanıt değişkeni herhangi bir geçersiz yanıt içeriyorsa, bir hata mesajı yazdıracaktır. Yanıt değişkeni, yanıtın durum kodu ve içeriği olan geçerli bir yanıt içeriyorsa, bir başarı mesajı yazdırılacaktır.

# İstekleri içe aktarma modülü
içe aktarma istekleri
# Bir alma isteği oluşturun
yanıt = istekler.get('https://api.github.com/')
# Yanıtı kontrol edin
yanıt ise:
# Yanıt durum kodunu yazdırın
print('Yanıtın durum kodu %d' %response.durum kodu)
# JSON içeriğini yazdır
print('JSON içeriği: \n%s' %response.json())
# Başarı mesajını yazdır
print('\nİstek başarıyla işlendi.')
Başka:
# Geçersiz yanıt için hata mesajını yazdırın
print('Geçersiz cevap.')

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

Örnek-2: Yanıtın kullanımı.json() istisna işleme ile

Yanıtı kullanma yolu.Bu örnekte istisna işlemeli json() işlevi gösterilecektir. HttpError modülü, istisnayı işlemek için komut dosyasındaki istek modülüyle içe aktarılır. Burada, istekleri kullanmak için kullanıcıdan URI adresi alınacaktır.get() işlevi. Bu isteğin yanıtı, yanıt değişkeninde saklanacaktır. Sonraki, yanıt.upgrade_for_status() işlevi, isteğin cevabının geçerli veya geçersiz olup olmadığını kontrol etmek için kullanılır. Yanıt geçersizse, bir istisna oluşturulur ve istisnaya dayalı olarak herhangi bir istisna bloğunun kodu yürütülür. Yanıt geçerliyse yanıt değişkeninin içeriği, yanıt verilerini içeren her satırda sözlüğün değerlerini yazdırmak için bir for döngüsü kullanılarak yinelenir.

# İstekleri içe aktarma modülü
içe aktarma istekleri
# Özel durum işleme için HTTPError'ı içe aktar
isteklerden.istisnalar içe aktarma HTTPError
# URI'yi tanımlayın
uri = input('Geçerli bir URI girin:\n')
# Bekleyen mesajı yazdır
print('Cevap bekleniyor... \n')
Deneyin:
# github'ın besleme içeriğini okumak için bir alma isteği oluşturun
yanıt = istekler.almak(uri)
# Yanıt başarısız olursa istisna oluştur
tepki.yükseltme_for_durumu()
# JSON içeriğini okuyun
jsonResponse = yanıt.json()
print("JSON içeriği: \n")
# JSON yanıtındaki her bir anahtar/değer çiftini okuyun ve yazdırın
anahtar için, jsonResponse içindeki değer.öğeler():
print(anahtar, ":", değer)
# HTTP hatası için hata mesajı yazdır
http_err olarak HTTPError dışında:
print('HTTP hatası oluştu: %s' %http_err)
# HTTP hatası için hata mesajı yazdır
err olarak İstisna hariç:
print('Diğer hata oluştu: %s' %err)

Çıktı:

Komut dosyası çalıştırıldıktan sonra, kullanıcı tarafından var olmayan bir URI değeri sağlanacağı zaman aşağıdaki çıktı görünecektir. Burada, ilgili hata mesajının yanında HTTPError istisnası oluşturuldu.


Kullanıcı tarafından geçersiz bir URI değeri sağlanacağı zaman, betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Burada, diğer istisna, ilgili bir hata mesajıyla oluşturulmuştur.

Kullanıcı tarafından geçerli bir URI değeri sağlandığında betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Burada JSON içeriği düzgün bir şekilde basılmıştır.

Örnek-3: Yanıtın kullanımı.json() sorgu dizesi ile

Yanıtı kullanma yolu.Bu örnekte sorgu dizesi ile json() işlevi gösterilecektir. Burada, istekler.get() işlevi, params kullanarak URI ile bir sorgu dizesi değeri kullandı. Verilen depolardaki PERL dili için girişleri arayacaktır. Yanıt değişkeni geçerli bir yanıt içeriyorsa, depo adı ve açıklaması yazdırılacaktır, aksi takdirde bir hata mesajı olacaktır.

# İstekleri içe aktarma modülü
içe aktarma istekleri
# Sorgu dizesini kullanarak github deposunda arama yapmak
yanıt = istekler.almak(
'https://api.github.com/arama/depolar',
params='q': 'istekler+dil:perl',
)
# Yanıtı kontrol edin
yanıt ise:
# JSON içeriğini okuyun
json_response = yanıt.json()
# Belirli depo öğesini oku
depo = json_response['items'][0]
# Depo adını yazdır
print('Depo adı: %s' %repository["ad"])
# Depo açıklamasını yazdır
print('Depo açıklaması: %s' %repository["açıklama"])
Başka:
# Geçersiz yanıt için hata mesajını yazdırın
print('Geçersiz cevap.')

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir. PERL dili için depo adı ve açıklaması burada basılmıştır.

Sonuç:

İsteği belirli bir URI'ye göndermenin ve yanıtı kullanarak yanıtı okumanın farklı yolları.json() işlevi bu öğreticide basit örnekler kullanılarak gösterildi. Umarım bu eğitim, okuyucuların Python'da JSON yanıtının kullanımını anlamalarına ve gerektiğinde komut dosyalarında düzgün bir şekilde uygulamalarına yardımcı olur.

Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...