Şimdi yükleniyor

Python ile JSON Dosyası Okuma ve Yazma

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