CodeBlanks Logo Icon CodeBlanks

json.load ve dump

json.load ve dump ile JSON okuyup yazmayı öğrenirsin.

Yapısal veri biçiminde dosya

Yapısal veri biçimi, sözlük ve liste gibi verileri düz metin olarak saklar. Python'un yapısal veri modülü bu biçimi okur ve yazar. import json satırı ile modülü içe aktarırsın.

Dosyadan okumak için json.load(f) kullanırsın; dönen değer bir Python sözlüğü ya da listesidir. Dosyaya yazmak için json.dump(data, f, ensure_ascii=False, indent=2) kullanırsın. ensure_ascii=False Türkçe karakterleri olduğu gibi yaz; indent=2 okunaklı girinti verir.

Uygulama Veriyi dosyaya yaz ve geri oku

Önce import json satırını ekle. data = {"name": "Ayşe", "age": 30} ile bir sözlük tanımla. with open("person.txt", "w", encoding="utf-8") as f: bloğu içinde json.dump(data, f, ensure_ascii=False, indent=2) ile yaz. Sonra with open("person.txt", "r", encoding="utf-8") as f: bloğu içinde loaded = json.load(f) ile geri oku. print(loaded["name"]) ile adı yazdır.

Başlangıç kodu

main.py
import json

# Veri sözlüğünü tanımla
# Dosyaya yaz, geri oku ve adı yazdır

Örnek çözüm

main.py
import json

# Veri sözlüğünü tanımla
data = {"name": "Ayşe", "age": 30}
# Dosyaya yaz, geri oku ve adı yazdır
with open("person.txt", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=2)
with open("person.txt", "r", encoding="utf-8") as f:
    loaded = json.load(f)
    print(loaded["name"])

Beklenen çıktı

Ayşe

ensure_ascii ve indent

Varsayılan olarak json.dump Türkçe karakterleri \u00e7 gibi kaçış dizilerine çevirir. ensure_ascii=False verirsen harfler olduğu gibi yazılır; dosya insanlar tarafından okunaklı olur. Türkçe içerik için bu parametre neredeyse her zaman kullanılır.

indent=2 parametresi, çıktıya ikişer boşlukluk girinti ekler. Bu, dosyayı bir metin düzenleyicide açtığında yapının görünmesini sağlar. Sıkıştırılmış dosya istiyorsan indent'i yazmazsın; tek satırda yazar.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 json.dump hangi parametreyle dosyaya yazar?

  • İlk parametre dosya, ikincisi veri
  • Yalnız dosya parametresi alır
  • İlk parametre veri, ikincisi dosya Doğru cevap
  • Yalnız veri parametresi alır

Açıklama: Seçim yanlış. Doğru cevap: ilk parametre veri, ikincisi dosya. Sıra önemlidir.

2 Yapısal veri modülünü eşleştir

Kavram Anlamı
json.load Dosyadan okur
json.dump Dosyaya yazar
ensure_ascii Karakter ayarı
indent Girinti ayarı

3 json.load çağrısını tamamla

Soru
with open("kisi.txt", encoding="utf-8") as f:
    data = json.____(f)
    print(data["ad"])
Cevap
with open("kisi.txt", encoding="utf-8") as f:
    data = json.load(f)
    print(data["ad"])

Açıklama: json.load(f) dosyadan yapısal veriyi okur.

Orta seviye bölümündeki tüm dersler