json.loads ve dumps
- Python kursu
- Orta seviye
- Ders 74/116
- 4 dk
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
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
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
import json
data = {"ad": "Ayşe"}
metin = json.____(data, ensure_ascii=False)
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 |