Python ile JSON Dosyası Okuma ve Yazma
JSON (JavaScript Object Notation), günümüzde veri alışverişi için en sık kullanılan formatlardan biridir. Özellikle web servisleri ve API entegrasyonlarında Python geliştiricileri için vazgeçilmez bir araçtır. Bu yazımda, Python ile JSON dosyası nasıl okunur, nasıl yazılır ve nasıl işlenir gibi temel konuları anlatacağım. Anlatımı örnek kodlar ve görsellerle destekleyerek daha anlaşılır hale getirdim.
Bu yazımda paylaştığım kodların tamamını Github üzerinden inceleyebilirsiniz.
JSON Nedir?
JSON, anahtar-değer çiftleri ile veri saklamaya ve aktarmaya yarayan hafif bir veri formatıdır. Hem insanlar hem de makineler tarafından kolaylıkla okunabilir. Python’da JSON ile çalışmak için standart json modülünü kullanmamız yeterlidir.
Python’da JSON Modülü
Python’da JSON işlemleri için ekstra bir kurulum yapmaya gerek yoktur. json modülü standart kütüphane ile birlikte gelir.
import json
JSON Dosyası Okuma
Bir .json uzantılı dosyayı Python’da nasıl okuyacağınızı görelim.
Örnek JSON Dosyası (veri.json)
{
"ad": "Serdar",
"soyad": "Karaca",
"yas": 26,
"meslek": "Yazılım Geliştirici"
}
Python ile Okuma
import json
with open("veri.json", "r", encoding="utf-8") as dosya:
veri = json.load(dosya)
print(veri)
print(veri["ad"])
Bu kod ile JSON dosyasındaki veriler bir Python sözlüğüne (dictionary) dönüştürülür.
JSON Dosyasına Yazma
Python verilerini JSON formatında bir dosyaya yazmak için json.dump() fonksiyonu kullanılır.
Örnek
import json
kisi = {
"ad": "Ayşe",
"soyad": "Yılmaz",
"yas": 25,
"meslek": "Veri Analisti"
}
with open("kisi.json", "w", encoding="utf-8") as dosya:
json.dump(kisi, dosya, ensure_ascii=False, indent=4)
ensure_ascii=False Türkçe karakterlerin bozulmaması için, indent=4 ise daha okunabilir biçimde yazılması için kullanılır.
JSON Verisini String’e Dönüştürme (json.dumps)
Eğer bir Python sözlüğünü string olarak JSON formatına çevirmek isterseniz ;
json_veri = json.dumps(kisi, ensure_ascii=False, indent=2)
print(json_veri)
JSON String’ini Python Nesnesine Çevirme (json.loads)
JSON biçimindeki bir string veriyi Python nesnesine çevirmek için json.loads() fonksiyonu kullanılır.
json_metin = '{"ad": "Zeynep", "yas": 22}'
veri = json.loads(json_metin)
print(veri["ad"])
JSON ile Liste ve Sözlük Kullanımı
veriler = [
{"ad": "Ali", "yas": 25},
{"ad": "Veli", "yas": 30},
{"ad": "Ayşe", "yas": 28}
]
with open("liste.json", "w", encoding="utf-8") as dosya:
json.dump(veriler, dosya, ensure_ascii=False, indent=4)
JSON Dosyasını Güncelleme (Okuma + Yazma)
with open("kisi.json", "r+", encoding="utf-8") as dosya:
veri = json.load(dosya)
veri["yas"] = 29 # yaş güncellendi
dosya.seek(0)
json.dump(veri, dosya, ensure_ascii=False, indent=4)
dosya.truncate()
Yaygın Hatalar ve Çözümleri
- UnicodeEncodeError:
ensure_ascii=False
kullanın. - JSONDecodeError: JSON formatınız geçersiz olabilir, doğruluğunu kontrol edin.
- PermissionError: Dosyayı açarken doğru yetkilerle açtığınızdan emin olun.
Python ile JSON veri işlemleri oldukça basittir ve güçlüdür. Özellikle API’den veri çekerken ya da veri kaydetmek istediğinizde JSON sizin en büyük yardımcınız olacaktır. Bu yazımda öğrendiklerinizle artık kendi JSON dosyalarınızı okuyabilir, yazabilir ve düzenleyebilirsiniz.
Python ile İlgili Tüm Yazılarımı Buradan Veya Tüm Örneklerimi Github Üzerinden İnceleyebilirsiniz.
Bir Yorum Yazın