- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
JSON (JavaScript Object Notation), okunması ve yazılması kolay bir veri değişim formatıdır. Python'daki sözlüklere (Dictionary) ve listelere çok benzer yapısı sayesinde, Python ile çalışması son derece kolaydır.
Önemli: JSON, internet üzerindeki veri alışverişinin (API'ler, Web Servisleri) fiili standardıdır.
Python'da JSON ile çalışmak için json modülünü import etmemiz gerekir.
import json
1. Temel Kavramlar: Serileştirme ve Ters Serileştirme
JSON işlemleri iki ana yönde ilerler:
| Kavram | Yön | Python Objesi → JSON |
| Serileştirme (Encoding) | Python verisini harici bir format (JSON) dizesine çevirme. | dump() veya dumps() kullanılır. |
| Ters Serileştirme (Decoding) | JSON formatındaki dizeyi veya dosyayı tekrar Python nesnesine çevirme. | load() veya loads() kullanılır. |
JSON, Python'daki veri tiplerinin bir alt kümesini destekler:
| Python Tipi | JSON Tipi |
dict (Sözlük) | object (Nesne) |
list, tuple | array (Dizi) |
str (Dize) | string (Dize) |
int, float | number (Sayı) |
True | true |
False | false |
None | null |
json.dumps() (Serileştirme)Bu fonksiyon, bir Python nesnesini (genellikle bir sözlük veya liste) alarak, onu JSON formatına uygun bir dizeye (string) çevirir.
import json
python_veri = {
"kullanici_id": 101,
"isim": "Deniz Kara",
"aktif": True,
"notlar": [85, 90, 78]
}
# Python sözlüğünü JSON dizesine çevir
json_dizesi = json.dumps(python_veri)
print(type(json_dizesi))
# Çıktı: <class 'str'>
print(json_dizesi)
# Çıktı: {"kullanici_id": 101, "isim": "Deniz Kara", ...}
dumps() fonksiyonuna indent (girinti) argümanı ekleyerek çıktıyı daha okunur hale getirebilirsiniz.
# Biçimlendirilmiş JSON çıktısı (4 boşluk girintili)
biçimli_json = json.dumps(python_veri, indent=4, ensure_ascii=False)
print(biçimli_json)
json.loads() (Ters Serileştirme)Bu fonksiyon, JSON formatındaki bir dizeyi alarak onu orijinal Python nesnesine (genellikle Sözlük veya Liste) geri çevirir.
# Önceki adımdan gelen JSON dizesi
json_dizesi = '{"kullanici_id": 101, "isim": "Deniz Kara",
"aktif": true}'
# JSON dizesini Python nesnesine çevir
python_sozluk = json.loads(json_dizesi)
print(type(python_sozluk))
# Çıktı: <class 'dict'>
print(python_sozluk["isim"])
# Çıktı: Deniz Karajson.dump() ve json.load()Disk üzerindeki dosyalarla çalışırken, dize (s) tabanlı fonksiyonlar yerine doğrudan dosya nesnelerini kullanan dump ve load kullanılır.
json.dump)Dosya nesnesini girdi olarak alır ve serileştirme işlemini dosyaya kaydeder.
# JSON dosyasına yazma
yeni_veri = {"hata": False, "mesaj": "İşlem başarılı"}
with open("durum.json", "w") as f:
# dump(python_nesnesi, dosya_nesnesi)
json.dump(yeni_veri, f, indent=4)
# Dosya kapandığında içerik JSON formatında yazılmış olur.
json.load)Dosya nesnesini girdi olarak alır ve dosyadaki JSON içeriğini Python nesnesine çevirir.
# JSON dosyasından okuma
with open("durum.json", "r") as f:
# load(dosya_nesnesi)
okunan_veri = json.load(f)
print(type(okunan_veri))
# Çıktı: <class 'dict'>
print(okunan_veri["mesaj"])
# Çıktı: İşlem başarılıPython'ın json modülü, serileştirme ve ters serileştirme işlemlerini son derece kolaylaştırır. API'lerle çalışırken, yapılandırılmış veriyi kaydederken veya okurken bu dört temel fonksiyonu (dumps, loads, dump, load) akılda tutmak kritik öneme sahiptir.
🔥 Python Kariyerinizi Hemen Başlatın!
Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.
[ Python Eğitimi Sıfırdan İleri Seviye ]
Tıklayın ve Python Eğitimine Hemen Kaydolun!
Yorumlar
Yorum Gönder