CodeBlanks Logo Icon CodeBlanks

json.loads ve dumps

json.loads ve dumps ile string JSON öğrenirsin.

Dize ile çalışma: loads ve dumps

Bazen veri dosyada değil, bir dize olarak elindedir; örneğin bir ağ isteğinden gelir. Bu durumda json.loads(s) dizeyi Python nesnesine çevirir; sondaki s harfi string'i ifade eder.

Ters yönde json.dumps(data) bir Python nesnesini dizeye çevirir. Dosya kullanmaz; yalnız dize ile çalışır. dump ve load dosya, dumps ve loads dze için kullanılır.

Uygulama loads ve dumps ile dize çevir

Önce import json satırını ekle. text = '{"name": "Ayşe", "age": 30}' ile bir dize tanımla. person = json.loads(text) ile dizeyi sözlüğe çevir. print(person["name"]) ile adı yazdır. Sonra again = json.dumps(person, ensure_ascii=False) ile sözlüğü dizeye çevir ve print(again) ile yazdır.

Başlangıç kodu

main.py
import json

# text değişkenine yapısal veri dizesi ata
# loads ile sözlüğe çevir, adı yazdır
# dumps ile dizeye çevir, yazdır

Örnek çözüm

main.py
import json

# text değişkenine yapısal veri dizesi ata
text = '{"name": "Ayşe", "age": 30}'
# loads ile sözlüğe çevir, adı yazdır
person = json.loads(text)
print(person["name"])
# dumps ile dizeye çevir, yazdır
again = json.dumps(person, ensure_ascii=False)
print(again)

Beklenen çıktı

Ayşe
{"name": "Ayşe", "age": 30}

load mu loads mu?

İki metodun farkını kolayca hatırla: dosya için load, dize için loads. Aynı ilişki dump ve dumps için de geçerlidir: dosyaya yazma dump, dizeye çevirme dumps.

Bu adlandırma tutarlıdır: sondaki s harfi string'i işaret eder. Böylece metod adını gördüğünde dosya mı dize mi kullandığını hemen anlarsın. Karmaşıklığı azaltır ve kodu okunaklı kılar.

Soru ve cevaplar

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

1 json.loads hangi tür veriyi kabul eder?

  • Sayı
  • Dize Doğru cevap
  • Liste
  • Dosya nesnesi

Açıklama: Seçim yanlış. Doğru cevap: dize. loads sonundaki s dize (string) anlamındadır.

2 json.dumps çağrısını tamamla

Soru
import json
data = {"ad": "Ayşe"}
metin = json.____(data, ensure_ascii=False)
Cevap
import json
data = {"ad": "Ayşe"}
metin = json.dumps(data, ensure_ascii=False)

Açıklama: json.dumps nesneyi dizeye çevirir.

3 Dört metodu eşleştir

Kavram Anlamı
json.load Dosyadan okur
json.dump Dosyaya yazar
json.loads Dizeden okur
json.dumps Dizeye yazar

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