0Pricing
Python Academy · Ders

JSON Kodlama ve Kod Çözme

JSON girdi/çıktısı için json.loads, json.dumps ve json.load/dump kullanın.

JSON Kodlama ve Kod Çözme, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

Giriş

Python'un json modülü, basit ve tutarlı işlevlerle Python nesneleri ve JSON dizeleri veya dosyaları arasında dönüşüm yapar.

json.dumps()

json.dumps(obj), bir Python nesnesini JSON dizesine serileştirir. indent=2, okunaklı biçimlendirme yapar.
import json
d = {'name': 'Alice', 'age': 30, 'active': True}
print(json.dumps(d, indent=2))

json.loads()

json.loads(s), bir JSON dizesini Python nesnesine ayrıştırır. JSON nesneleri dict, diziler ise list olur.
import json
s = '{"name": "Alice", "scores": [90, 85]}'
data = json.loads(s)
print(type(data), data['name'])

Dosyaya json.dump()

json.dump(obj, file_object), doğrudan bir dosyaya serileştirir. Önce bir dizeyi almanız gerekmez.
import json, tempfile, os
tmp = tempfile.mktemp(suffix='.json')
with open(tmp, 'w') as f:
    json.dump({'x': 1}, f, indent=2)
print(open(tmp).read())
os.unlink(tmp)

Dosyadan json.load()

json.load(file_object), JSON'u doğrudan açık bir dosya nesnesinden ayrıştırır.
import json, io
buf = io.StringIO('{"key": "value"}')
data = json.load(buf)
print(data)

JSON Tür Eşlemeleri

JSON object→dict. array→list. string→str. number→int/float. true/false→True/False. null→None.
import json
s = '[1, "two", true, null, {"a": 3.14}]'
print(json.loads(s))

Serileştirilemeyen Türler

datetime, set ve bytes JSON olarak serileştirilemez. Bir default= işlevi sağlayın veya JSONEncoder alt sınıfını oluşturun.
import json
from datetime import datetime
def default(obj):
    if isinstance(obj, datetime):
        return obj.isoformat()
    raise TypeError(f'{type(obj)} not serializable')
print(json.dumps({'ts': datetime.now()}, default=default))

sort_keys ve separators

sort_keys=True, dict anahtarlarını sıralar. separators=(',', ':') kompakt çıktı için boşluk karakterlerini kaldırır.
import json
d = {'z': 3, 'a': 1, 'm': 2}
print(json.dumps(d, sort_keys=True, separators=(',', ':')))

Okunaklı Biçimlendirme

json.dumps(obj, indent=4, ensure_ascii=False), Unicode karakterleri koruyarak insanların okuyabileceği JSON üretir.
import json
d = {'name': 'Mehmet', 'city': 'Istanbul'}
print(json.dumps(d, indent=4, ensure_ascii=False))

JSONDecodeError

json.loads(invalid), json.JSONDecodeError oluşturur. Kullanıcı girdisini ayrıştırırken her zaman try/except içine alın.
import json
try:
    json.loads('{bad json}')
except json.JSONDecodeError as e:
    print(f'Parse error: {e}')

JSON Dosyalarını Güncelleme

Oku → değiştir → geri yaz: bir JSON yapılandırma dosyasını güncellemek için standart örüntüdür.
import json, io
buf = io.StringIO('{"count": 5}')
data = json.load(buf)
data['count'] += 1
print(json.dumps(data))

Kısa Kontrol

Bir JSON dizesini Python nesnesine hangi işlev ayrıştırır?

Özet

Dizeler için json.dumps/loads, dosyalar için json.dump/load kullanılır. Türler: object→dict, array→list, null→None. Özel serileştirme default= işleviyle yapılır.

Devam Edin

Böyle devam edin! Sıradaki derse geçin.

Sıkça Sorulan Sorular

“JSON Kodlama ve Kod Çözme” dersi ücretsiz mi?

Evet — “JSON Kodlama ve Kod Çözme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“JSON Kodlama ve Kod Çözme” dersinde ne öğreneceğim?

JSON girdi/çıktısı için json.loads, json.dumps ve json.load/dump kullanın. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“JSON Kodlama ve Kod Çözme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. JSON Kodlama ve Kod Çözme
  2. İç İçe JSON Yapılarını İşleme
  3. csv.reader ile CSV Okuma
  4. csv.DictWriter ile CSV Yazma
← Python Academy Sayfasına Dön