Python json okuma yazma işlemleri, web API'lerinden veri almak veya yapılandırılmış verileri saklamak için sıkça kullanılır. Python'un yerleşik `json` modülü, bu işleri birkaç satır kodla halletmenizi sağlar. **json Modülünü İçeri Aktarın** ```python import json ``` Ek kurulum gerekmez; modül Python standart kütüphanesinin parçasıdır. **JSON String'den Python Nesnesine: json.loads()** Bir JSON metnini Python sözlüğüne veya listesine dönüştürmek için `loads()` (load string) kullanılır: ```python json_metni = '{"isim": "Ahmet", "yas": 28}' veri = json.loads(json_metni) print(veri["isim"]) # Ahmet print(type(veri)) # <class 'dict'> ``` **JSON Dosyasından Okuma: json.load()** Dosyadan okumak için `load()` (dosya nesnesiyle) kullanılır: ```python with open("veri.json", "r", encoding="utf-8") as f: veri = json.load(f) print(veri) ``` Türkçe karakter sorununu önlemek için her zaman `encoding="utf-8"` parametresini ekleyin. **Python Nesnesini JSON String'e: json.dumps()** ```python veri = {"isim": "Fatma", "sehir": "Ankara", "aktif": True} json_metni = json.dumps(veri, ensure_ascii=False, indent=2) print(json_metni) ``` `ensure_ascii=False` Türkçe karakterlerin düzgün görünmesini sağlar. `indent=2` okunabilir girintileme ekler. **JSON Dosyasına Yazma: json.dump()** ```python veri = {"urunler": ["elma", "armut", "kiraz"], "toplam": 3} with open("cikti.json", "w", encoding="utf-8") as f: json.dump(veri, f, ensure_ascii=False, indent=4) ``` **JSON ve Python Veri Tipi Eşleşmeleri** | JSON | Python | |------|--------| | object | dict | | array | list | | string | str | | number | int / float | | true/false | True/False | | null | None | **Sık Yapılan Hatalar** - *json.JSONDecodeError:* JSON metni geçerli değil. Tek tırnak kullanılmış olabilir; JSON yalnızca çift tırnak kabul eder. - *KeyError:* Anahtarın var olup olmadığını önce `veri.get("anahtar")` ile kontrol edin. - *Türkçe karakter bozulması:* Hem okuma hem yazma işleminde `encoding="utf-8"` ve `ensure_ascii=False` kullanın. **İç İçe JSON Yapısına Erişim** ```python veri = { "kullanici": { "isim": "Ali", "adres": {"sehir": "İzmir"} } } print(veri["kullanici"]["adres"]["sehir"]) # İzmir ``` Python json okuma yazma işlemleri bu kadar. API yanıtlarını işlemek, ayar dosyaları yazmak veya veri saklamak için `json` modülü yeterlinin çok üzerinde bir araçtır.