Python'da JSON Dosyası Nasıl Okunur ve Ayrıştırılır
Yerleşik json modülünü kullanarak Python'da JSON dosyalarını nasıl okuyacağınızı, ayrıştıracağınızı ve yükleyeceğinizi öğrenin. JSON dizelerini sözlüklere (veya tam tersi) dönüştürme konusunda uzmanlaşın.
Genel Bakış
JSON (JavaScript Object Notation), API'ler, yapılandırma dosyaları ve veri depolama için en popüler veri formatıdır. Python, JSON verilerini okumayı, ayrıştırmayı ve yazmayı inanılmaz derecede kolaylaştıran yerleşik bir "json" modülüyle birlikte gelir. JSON nesneleri Python sözlükleriyle mükemmel bir şekilde eşleştiğinden ve JSON dizileri Python listeleriyle eşlendiğinden, JSON ile çalışmak doğaldır.
JSON'u harici bir dosyadan okumak için, bir dosya akışını ayrıştıran ve JSON yapılarını Python veri türlerine çeviren 'json.load()' işlevini kullanırsınız. JSON verileri belleğe zaten bir dize olarak yüklenmişse, bunun yerine `json.loads()` işlevini kullanırsınız ('s' dize anlamına gelir). Doğru işlevin seçilmesi ayrıştırıcının çökmesini önler.
JSON ile çalışırken kodlama ve olası biçimlendirme hatalarını ele almak en iyi uygulamadır. 'open()' ifadesi içinde 'encoding='utf-8'' kullanılması, betiğinizin özel karakterlerde hata vermesini önler. Dosya işlemlerini "json.JSONDecodeError" yakalayan bir "try-hariç" bloğunda sarmalamak, JSON dosyası hatalı biçimlendirilmişse uygulamanızın sorunsuz bir şekilde bozulmasına olanak tanır.
Kod ve Yürütme Çıkışı
Bu kod, örnek bir JSON dosyası yazmayı, onu okumayı ve bir Python sözlüğüne ayrıştırmayı ve bir JSON dizesini işlemeyi gösterir.
import json
# Let's write a mock JSON file first
sample_data = {
"user": "developer123",
"skills": ["python", "javascript", "sql"],
"active": True
}
with open("data.json", "w", encoding="utf-8") as f:
json.dump(sample_data, f, indent=4)
# 1. Reading from a JSON file (using json.load)
with open("data.json", "r", encoding="utf-8") as file:
data_from_file = json.load(file)
print("File Content type:", type(data_from_file).__name__)
print("User skill list:", data_from_file["skills"])
# 2. Reading from a JSON string (using json.loads)
json_string = '{"host": "localhost", "port": 5432, "ssl": false}'
data_from_str = json.loads(json_string)
print("\nString Content type:", type(data_from_str).__name__)
print("Database host:", data_from_str["host"])File Content type: dict
User skill list: ['python', 'javascript', 'sql']
String Content type: dict
Database host: localhostAdım Adım Uygulama
- Yerleşik json modülünü betiğinize aktarın.
- JSON dosyasını dosya olarak open("filename.json", "r", encoding='utf-8") kullanarak açın.
- İçeriği bir Python sözlüğüne ayrıştırmak için dosya nesnesini json.load(file) dosyasına iletin.
- Belleğe önceden yüklenmiş bir ham JSON dizesini ayrıştırmanız gerekiyorsa json.loads(string_data) öğesini kullanın.
Sıkça Sorulan Sorular
json.load() ve json.loads() arasındaki fark nedir?
json.load(), dosya benzeri bir akış nesnesini (diskten okuma) kabul ederken json.loads(), JSON içeriğini içeren standart bir dize veya bayt nesnesini (bellekten okuma) kabul eder.
Özel sınıflar için JSON serileştirme hatalarını nasıl ele alabilirim?
Python'un json modülü, özel sınıf örneklerini varsayılan olarak serileştiremez. json.JSONEncoder'ı genişleten özel bir kodlayıcı sınıfı sağlamalı veya önce bir yardımcı yöntem kullanarak örneğin niteliklerini bir sözlüğe çıkarmalısınız.
İlgili Konular
Python'da dosyaları nasıl okuyacağınızı öğrenin. With open ifadesi, okuma satırı, okuma satırları ve dosya istisnalarını güvenli bir şekilde yönetme konusunda uzmanlaşın.
Python'da Bir Dosyaya Nasıl YazılırPython'da dosyalara nasıl metin yazılacağını öğrenin. Güvenli içerik yöneticileriyle yazma ("w") ve ekleme ("a") modları arasındaki farkı öğrenin.
Python'da Sözlük Nasıl OluşturulurPython'da nasıl sözlük oluşturulacağını öğrenin. Gerçek sözdizimini, dikte oluşturucuyu, dikte kavramalarını ve anahtar/değer başlatıcılarını anlayın.
Önerilen Python Kaynakları
İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.
Python Dosya G/Ç
Python'da dosyaları nasıl okuyacağınızı ve yazacağınızı öğrenin. Kaynak sızıntısı olmadan dosya işlemlerini güvenli bir şekilde yürütmek için open(), read(), write() ve bağlam yöneticilerinde uzmanlaşın.
Python Dosya İşlemleri Hile Sayfası
Python'da dosyaları okumak ve yazmak için hızlı başvuru. Açık modlarda, içerik yöneticilerinde ve satır satır okumada ustalaşın.
Python vs JavaScript: Hangi Programlama Dili En İyisidir?
Python ve JavaScript arasında kapsamlı bir karşılaştırma. Sözdizimi farklılıklarını, performansı, kullanım örneklerini (arka uç ve ön uç) ve kodlama örneklerini keşfedin.