JSON (JavaScript Object Notation) verileri depolamak ve iletmek için kullanılan hafif bir formattır. İnsanlar tarafından kolayca okunabilir ve yazılabilirken, makineler tarafından da kolayca ayrıştırılabilir ve oluşturulabilir. JSON, çoğunlukla web uygulamalarında sunucu ile istemci arasında veri alışverişi yapmak için kullanılır. JSON formatı, JavaScript dilinin bir alt kümesi olarak ortaya çıkmış olsa da, günümüzde birçok programlama dili tarafından desteklenmektedir.
JSON formatı, anahtar-değer çiftleri ve dizilerden oluşur. Anahtarlar string (metin) türünde olup, değerler string, sayı, nesne, dizi, boolean veya null olabilir. JSON formatının temel yapısı aşağıdaki gibidir:
{
"anahtar1": "değer1",
"anahtar2": "değer2",
"anahtar3": {
"anahtar4": "değer4"
},
"anahtar5": [
"değer5a",
"değer5b"
]
}
Yukarıdaki örnekte bir nesne içinde string türünden anahtarlar ve onların karşısında yer alan değerler bulunmaktadır. Ayrıca bu nesne içinde başka bir nesne ve bir dizi yer almaktadır. JSON formatı, verilerin hiyerarşik bir yapı içinde düzenlenmesini sağlar ve bu sayede karmaşık verilerin bile kolaylıkla temsil edilmesine olanak tanır.
JSON dosyaları genellikle .json
uzantısıyla kaydedilir ve çoğu metin düzenleyicisinde okunabilir. JSON’un popülaritesi, özellikle web tabanlı uygulamalarda veri iletişimi için yaygın olarak kullanılmasıyla artmıştır.
Python’da JSON dosyası oluşturmak için json
adlı yerleşik modülü kullanabilirsiniz. Bu modül, Python nesnelerini JSON formatına dönüştürmek ve bu formatta dosyalar oluşturmak için çeşitli işlevler sağlar. Aşağıda, Python kullanarak JSON dosyası oluşturmanın adım adım nasıl yapılacağını gösteren bir örnek bulunmaktadır.
Örnek ile JSON Dosyası Oluşturma
Aşağıdaki örnekte, bir Python sözlüğünü JSON dosyasına yazacağız. Öncelikle json
modülünü içe aktaracağız ve ardından bir sözlük oluşturup bunu bir JSON dosyasına yazacağız.
Adım 1: Gerekli Modülü İçe Aktarma
Öncelikle json
modülünü içe aktararak işe başlayalım:
import json
Adım 2: Python Sözlüğü Oluşturma
Daha sonra bir Python sözlüğü oluşturalım. Bu sözlük, JSON dosyasında saklamak istediğimiz verileri temsil edecek:
data = {
"ad": "Ahmet",
"soyad": "Yılmaz",
"yas": 30,
"evliMi": false,
"cocuklar": [
{
"ad": "Ayşe",
"yas": 5
},
{
"ad": "Mehmet",
"yas": 3
}
],
"sehir": None
}
Bu sözlük, bir kişinin adı, soyadı, yaşı, evli olup olmadığı, çocukları ve yaşadığı şehir gibi bilgilerini içermektedir. Çocuklar bir dizi içinde yer almakta ve her çocuğun adı ve yaşı olarak iki farklı bilgi bulunmaktadır. Ayrıca şehir bilgisi None
olarak ayarlandığı için bu JSON dosyasında null
olarak görünecektir.
Adım 3: JSON Dosyasını Yazma
Son olarak, oluşturduğumuz sözlüğü bir JSON dosyasına yazmak için json.dump()
işlevini kullanacağız:
with open('veriler.json', 'w') as json_file:
json.dump(data, json_file)
Bu kod parçası, veriler.json
adlı bir dosya açacak (veya bu isimde yeni bir dosya oluşturacak) ve data
adlı sözlüğü bu dosyaya JSON formatında yazacaktır. with open(...) as ...:
yapısı, dosyanın otomatik olarak kapatılmasını sağlar.
Tam Kod Örneği
Aşağıda yukarıdaki adımların tamamını içeren tam bir kod örneği bulunmaktadır:
import json
data = {
"ad": "Ahmet",
"soyad": "Yılmaz",
"yas": 30,
"evliMi": false,
"cocuklar": [
{
"ad": "Ayşe",
"yas": 5
},
{
"ad": "Mehmet",
"yas": 3
}
],
"sehir": None
}
with open('veriler.json', 'w') as json_file:
json.dump(data, json_file)
Çıktı
Kod çalıştırıldığında, bulunduğunuz dizinde veriler.json
adlı bir dosya oluşturulacak. Bu dosyanın içeriği aşağıdaki gibi görünecektir:
{
"ad": "Ahmet",
"soyad": "Yılmaz",
"yas": 30,
"evliMi": false,
"cocuklar": [
{
"ad": "Ayşe",
"yas": 5
},
{
"ad": "Mehmet",
"yas": 3
}
],
"sehir": null
}
Ek Özellikler: JSON Dosyasını Biçimlendirme (Pretty Print)
Oluşturulan JSON dosyası daha okunabilir hale getirmek için biçimlendirme (pretty print) ekleyebilirsiniz. Bu, girintileri ve satır sonlarını ekleyerek JSON’un daha düzenli görünmesini sağlar. Bunu yapmak için json.dump()
işlevine indent
parametresini ekleyebilirsiniz:
with open('veriler_bicimlendirilmis.json', 'w') as json_file:
json.dump(data, json_file, indent=4)
Bu kodda indent=4
ekleyerek her seviye için 4 boşlukluk girinti eklemesini sağladık. Sonuç olarak oluşturulan veriler_bicimlendirilmis.json
dosyası aşağıdaki gibi görünecektir:
{
"ad": "Ahmet",
"soyad": "Yılmaz",
"yas": 30,
"evliMi": false,
"cocuklar": [
y {
"ad": "Ayşe",
y "yas": 5
},
y {
"ad": "Mehmet",
y "yas": 3
}
y ],
y "sehir": null
}
Sonuç
Bu makalede Python kullanarak JSON dosyası oluşturmanın temel adımlarını öğrendiniz. JSON verileri depolamak ve iletmek için yaygın olarak kullanılan bir formattır ve Python’daki json
modülü sayesinde kolayca JSON dosyaları oluşturabilirsiniz. Biçimlendirme seçenekleri ile JSON’unuzu daha okunabilir hale getirebilir ve gerektiğinde farklı veri yapıları oluşturabilirsiniz.