Bir web API’sinden veri çektiğinizde ya da bir uygulama ayarını dosyaya kaydettiğinizde, karşınıza çıkan format büyük olasılıkla JSON’dur. JSON, farklı sistemlerin birbiriyle konuştuğu ortak dildir.
JSON nedir?
JSON, veriyi anahtar-değer çiftleri ve listelerle temsil eden, insan tarafından okunabilir bir metin formatıdır. Dile bağımlı değildir; bu yüzden Python, JavaScript ya da başka bir dil onu aynı biçimde anlar. Yapısı Python’daki sözlük ve listelere çok benzer.
Python’da JSON okumak
json modülü Python ile gelir. Bir JSON metnini Python nesnesine çevirmek için loads kullanılır:
import json
metin = '{"ad": "Ada", "yas": 20}'
veri = json.loads(metin)
print(veri["ad"]) # AdaPython nesnesini JSON’a çevirmek
Tersine, bir Python sözlüğünü JSON metnine çevirmek için dumps kullanılır:
kisi = {"ad": "Ada", "sehir": "Mersin"}
metin = json.dumps(kisi, ensure_ascii=False)
print(metin)API’lerle ilişkisi
Web’den veri çekerken JSON her yerdedir; requests ile API kullanımı yazımızda gelen yanıtın doğrudan JSON olduğunu görmüştük. Kavram için JSON sayfasına bakabilirsiniz.
İşin hocası ne yapar?
İşin hocası veriyi sistemler arasında taşırken JSON’u tercih eder; çünkü sade, okunabilir ve herkesin anladığı ortak bir dildir.
İlgili yazı: Sanal Ortamlar (venv)
Sıkça Sorulan Sorular
JSON nedir?
JSON, veriyi anahtar-değer çiftleri ve listelerle temsil eden, insan tarafından okunabilir bir metin formatıdır. Dile bağımlı olmadığı için farklı programlama dilleri onu aynı biçimde anlayabilir.
Python’da JSON nasıl okunur?
json modülündeki loads fonksiyonu bir JSON metnini Python nesnesine (genellikle sözlük veya liste) çevirir. Bir dosyadan okumak için ise load fonksiyonu kullanılır.
json.dumps ne işe yarar?
json.dumps, bir Python nesnesini (örneğin sözlüğü) JSON metnine çevirir. Türkçe karakterlerin doğru görünmesi için ensure_ascii=False parametresi eklenebilir.
