Python JSON Ayrıştırıcı ve Doğrulayıcı
Python'da JSON'u nasıl okuyacağınızı, doğrulayacağınızı, değiştireceğinizi ve serileştireceğinizi öğrenin. Yerleşik json kitaplığında gerçekçi örneklerle ustalaşın.
Genel Bakış
JSON (JavaScript Object Notation), web üzerinde veri alışverişi için standart formattır. Python, JSON dizelerini Python sözlüklerine (veya tam tersi) çeviren "json" adında güçlü bir yerleşik modül sağlar.
Modül iki ana işlem kümesini ortaya çıkarır: JSON dizelerini doğrudan işlemek için "yükler" ve "dökümler" ve doğrudan dosya akışlarından veri yazmak veya okumak için "yükleme" ve "döküm".
JSON ile çalışırken hata yönetimi kritik öneme sahiptir. Python, dize sözdizimi bozulursa bir "json.JSONDecodeError" hatası oluşturur; bu, genel API'lerden gelen yükleri tüketirken yakalamak için çok önemlidir.
Kod ve Yürütme Çıkışı
JSON dize doğrulamasını, dikte ayrıştırmayı, değişiklikleri ve güzel yazdırmayı gösteren bir komut dosyası.
import json
raw_json = """
{
"status": "success",
"data": {
"user_id": 9042,
"username": "coder_xyz",
"roles": ["admin", "developer"],
"verified": true
}
}
"""
try:
# Parsing JSON string into Python dict
data = json.loads(raw_json)
print("--- JSON Decoded Successfully ---")
print(f"Username: {data['data']['username']}")
print(f"Is Admin: {'admin' in data['data']['roles']}")
# Mutating Python dict
data['data']['verified'] = False
data['data']['last_login'] = "2026-05-25"
# Serializing dict back to formatted JSON
pretty_json = json.dumps(data, indent=4)
print("\n--- Modified JSON String ---")
print(pretty_json)
except json.JSONDecodeError as e:
print(f"Invalid JSON Format: {e}")--- JSON Decoded Successfully ---
Username: coder_xyz
Is Admin: True
--- Modified JSON String ---
{
"status": "success",
"data": {
"user_id": 9042,
"username": "coder_xyz",
"roles": [
"admin",
"developer"
],
"verified": false,
"last_login": "2026-05-25"
}
}Adım Adım Uygulama
- Uygulama yapılandırmalarını ve kimlik bilgisi dosyalarını okuma
- REST API uç noktalarından yanıtları ayrıştırma
- Program durumlarını veya seviyelerini masaüstü yardımcı programlarına kaydetme
Sıkça Sorulan Sorular
Python'da dump ve dumps arasındaki fark nedir?
'dumps' bir nesneyi JSON dize biçiminde serileştirirken, 'dump' serileştirilmiş JSON akışını doğrudan yazılabilir bir dosya nesnesine yazar.
Python, JSON boş değerlerini nasıl ele alır?
Python'un "json" kod çözücüsü, JSON'u "null"u otomatik olarak "None"a, "true" ve "false"ı "True" ve "False"a ve dizileri de listelere eşler.