Python'da JSON ve API kullanımı, modern yazılım geliştirmelerinde vazgeçilmez bir bileşen haline geldi. Bu başlık altında, hem temel kavramlara hem de gerçek dünya uygulamalarına değinerek, JSON verisi ile API çağrılarını nasıl yapacağınızı detaylandırıyorum. Özellikle RESTful API'lerle çalışırken JSON formatının önemi büyüktür; çünkü çoğu web servisi veriyi JSON formatında iletir. Bu nedenle, Python'un standart kütüphanesi ve popüler üçüncü parti kütüphaneler kullanılarak nasıl etkin bir şekilde JSON ve API yönetimi yapılabilir, bunlara odaklanacağım.
İlk olarak, Python'da JSON verisiyle çalışmak oldukça kolaydır.
json modülü, JSON verisini sözlük (dictionary) nesnesine veya tam tersi dönüşümler sağlar. Örneğin:
123456
import json
json_verisi = '{"isim": "Ahmet", "yas": 30}'
veri = json.loads(json_verisi)
print(veri["isim"]) # Çıktı: Ahmet
Burada,
loads() fonksiyonu JSON string'ini Python sözlüğüne çeviriyor. Aynı zamanda, Python'da oluşturulan sözlüğü JSON formatında bir string'e çevirmek için
json.dumps() kullanılır:
1234
yeni_veri = {"isim": "Mehmet", "yas": 25}
json_str = json.dumps(yeni_veri)
print(json_str) # Çıktı: {"isim": "Mehmet", "yas": 25}
API çağrılarında ise,
requests kütüphanesi en çok tercih edilen araçtır. Bu kütüphane, HTTP istekleri yapmayı ve gelen yanıtları kolayca işlemenize olanak tanır. Örneğin, bir GET isteği ile API'den veri çekmek ve JSON verisini kullanmak:
12345678
import requests
response = requests.get('https://api.ornek.com/veri')
if response.status_code == 200:
data = response.json()
# JSON'dan gelen veriyi kullanma
print(data['sonuc'])
POST isteği ile veri göndermek ise,
json parametresi sayesinde oldukça basittir:
12345
payload = {'kullanici': 'admin', 'sifre': '12345'}
response = requests.post('https://api.ornek.com/giris', json=payload)
if response.status_code == 200:
print("Başarılı:", response.json())
Gelişmiş kullanımda, API anahtarları, kimlik doğrulama, hata yönetimi ve zaman aşımı gibi unsurlar da dikkate alınmalıdır. Ayrıca, JSON verisinin yapısına göre özel serileştirme ve deseralizasyon işlemleri gerekebilir. Bu noktada,
pydantic veya
marshmallow gibi kütüphaneler, veri modellerinizi tanımlayarak doğrulama ve temizleme işlemlerini kolaylaştırır.
Sonuç olarak, Python'da JSON ve API kullanımı, doğru kütüphaneler ve kod yapısıyla oldukça verimli hale gelir. Bu temel bilgilerle, farklı API'ler ve JSON tabanlı veri işlemlerinde sağlam adımlar atmak mümkündür.