Python'da JSON Verileriyle Çalışma
JSON (JavaScript Nesne Gösterimi), bir sunucu ile bir istemci arasında veri alışverişi için kullanılan hafif bir veri biçimidir. Genellikle web uygulamalarında veri göndermek ve almak için kullanılır. Python, JSON verileriyle çalışmayı kolaylaştıran json
adlı yerleşik bir modül sağlar. Bu makale, JSON nesnelerini okuma, yazma ve düzenleme dahil olmak üzere Python'da JSON verileriyle çalışmanın temelleri konusunda size rehberlik edecektir.
JSON Nedir?
JSON, hem insanlar hem de makineler için okunması ve yazılması kolay metin tabanlı bir formattır. Python sözlüklerine benzer şekilde anahtar-değer çiftlerinden oluşur. Tipik bir JSON nesnesi şu şekilde görünür:
{
"name": "Alice",
"age": 30,
"city": "New York",
"is_student": false,
"skills": ["Python", "JavaScript", "SQL"]
}
JSON Modülünü İçe Aktarma
json
modülü Python'un standart kütüphanesine dahildir, bu yüzden hiçbir şey yüklemenize gerek yoktur. Bunu komut dosyanızın başına içe aktarmanız yeterlidir:
import json
JSON Verilerini Okuma
JSON verilerini bir dizeden veya bir dosyadan okuyabilirsiniz. json.loads()
yöntemi bir dizeden JSON verilerini ayrıştırmak için kullanılırken, json.load()
bir dosyadan JSON verilerini okumak için kullanılır.
Bir Dizgeden JSON Okuma
JSON'u bir dizeden okumak için, JSON dizesini Python sözlüğüne dönüştüren json.loads()
yöntemini kullanın.
# Example of reading JSON from a string
json_string = '{"name": "Alice", "age": 30, "city": "New York"}'
data = json.loads(json_string)
print(data)
print(data['name']) # Output: Alice
Bir Dosyadan JSON Okuma
Bir dosyadan JSON verilerini okumak için json.load()
metodunu kullanın. Bu metot bir dosyanın içeriğini okur ve onu bir Python sözlüğüne dönüştürür.
# Example of reading JSON from a file
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
JSON Verilerinin Yazılması
JSON verilerini bir dizeye veya bir dosyaya yazabilirsiniz. json.dumps()
yöntemi bir Python nesnesini bir JSON dizesine dönüştürmek için kullanılırken, json.dump()
yöntemi JSON verilerini bir dosyaya yazmak için kullanılır.
JSON'u Bir Dizeye Yazma
JSON'u bir dizeye yazmak için, Python sözlüğünü JSON dizesine dönüştüren json.dumps()
yöntemini kullanın.
# Example of writing JSON to a string
data = {
"name": "Bob",
"age": 25,
"city": "Los Angeles"
}
json_string = json.dumps(data)
print(json_string)
Bir Dosyaya JSON Yazma
JSON verilerini bir dosyaya yazmak için json.dump()
metodunu kullanın. Bu metot bir Python nesnesi alır ve onu JSON formatında bir dosyaya yazar.
# Example of writing JSON to a file
data = {
"name": "Bob",
"age": 25,
"city": "Los Angeles"
}
with open('output.json', 'w') as file:
json.dump(data, file)
JSON Verilerini Güzel Yazdırma
json.dumps()
yöntemi, JSON verilerini daha iyi okunabilirlik için biçimlendirmenize olanak tanıyan birkaç parametreye sahiptir. indent
parametresi, girinti için kullanılacak boşluk sayısını belirtirken, sort_keys
parametresi çıktıdaki anahtarları sıralar.
# Example of pretty-printing JSON data
data = {
"name": "Charlie",
"age": 35,
"city": "Chicago"
}
json_string = json.dumps(data, indent=4, sort_keys=True)
print(json_string)
JSON ve Python Veri Türleri Arasında Dönüştürme
Python'un json
modülü farklı veri tiplerini işleyebilir ve bunları JSON ve Python arasında dönüştürebilir. İşte hızlı bir referans:
dict
(Python) toobject
(JSON)list
(Python) toarray
(JSON)str
(Python) -string
(JSON)int
,float
(Python) -sayı
(JSON)Doğru
,Yanlış
(Python) iledoğru
,yanlış
(JSON)Hiçbiri
(Python) -null
(JSON)
JSON Hatalarının Ele Alınması
JSON ile çalışırken, yanlış biçimlendirme veya beklenmeyen veriler nedeniyle hatalar oluşabilir. json
modülü, bu tür sorunlarla karşılaştığında JSONDecodeError
gibi istisnalar oluşturur. Bu hataları zarif bir şekilde işlemek için try
ve except
bloklarını kullanın.
# Handling JSON errors
json_string = '{"name": "Alice", "age": 30, "city": "New York"' # Missing closing brace
try:
data = json.loads(json_string)
except json.JSONDecodeError as e:
print(f"Error decoding JSON: {e}")
Çözüm
JSON verileriyle çalışmak, özellikle web geliştirme ve veri biliminde Python geliştiricileri için temel bir beceridir. json
modülü, JSON verilerini okumak, yazmak ve düzenlemek için kullanımı kolay yöntemler sağlar. Bu tekniklerde ustalaşarak, Python uygulamalarınızda JSON verilerini verimli bir şekilde işleyebilirsiniz.