JSON Nedir? Geliştiriciler İçin Kapsamlı Rehber
JSON (JavaScript Object Notation), insanlar tarafından kolayca okunup yazılabilen, makineler tarafından ise kolayca ayrıştırılıp üretilebilen hafif bir veri değişim formatıdır. 1999 yılında Douglas Crockford tarafından standartlaştırılmış olan JSON, günümüzde web API'lerinin büyük çoğunluğunda kullanılmaktadır.
JSON'un Temel Yapısı
JSON iki temel yapıya dayanır:
- Nesne (Object): Anahtar-değer çiftleri koleksiyonu
- Dizi (Array): Sıralı değer listesi
{
"kullanici": {
"id": 1,
"ad": "Ahmet Yılmaz",
"email": "ahmet@example.com",
"aktif": true,
"roller": ["admin", "editor"],
"adres": null
}
}
Desteklenen Veri Tipleri
| Tip | Örnek |
|---|---|
| String | "Merhaba Dünya" |
| Number | 42, 3.14, -1 |
| Boolean | true, false |
| Null | null |
| Object | {"key": "value"} |
| Array | [1, 2, 3] |
JSON vs XML
XML uzun yıllar boyunca veri değişiminde standart formatı olmaya devam etti. Ancak JSON birçok avantajı sayesinde XML'in yerini aldı:
<!-- XML - Karmaşık ve verbose -->
<kullanici>
<id>1</id>
<ad>Ahmet Yılmaz</ad>
<aktif>true</aktif>
</kullanici>
// JSON - Sade ve okunabilir
{
"id": 1,
"ad": "Ahmet Yılmaz",
"aktif": true
}
JSON'un Avantajları:
- Daha az bayt → daha hızlı transfer
- JavaScript ile doğal entegrasyon
- Okunması ve yazılması kolay
- Hemen hemen tüm dillerde destek
JavaScript'te JSON Kullanımı
// JSON string → JavaScript objesi
const json = '{"ad": "Ahmet", "yas": 30}';
const obj = JSON.parse(json);
console.log(obj.ad); // "Ahmet"
// JavaScript objesi → JSON string
const data = { sehir: "İstanbul", nufus: 15000000 };
const jsonStr = JSON.stringify(data, null, 2);
// {
// "sehir": "İstanbul",
// "nufus": 15000000
// }
// API'den JSON verisi çekme
const response = await fetch('https://api.example.com/users');
const users = await response.json(); // otomatik JSON.parse
JSON Schema ile Doğrulama
Büyük projelerde JSON verilerinin beklenen yapıya uyduğunu doğrulamak önemlidir:
{
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"required": ["ad", "email"],
"properties": {
"ad": { "type": "string", "minLength": 2 },
"email": { "type": "string", "format": "email" },
"yas": { "type": "integer", "minimum": 0 }
}
}
Yaygın JSON Hataları
- Trailing comma:
{"a": 1,}geçersizdir - Single quotes:
{'key': 'val'}geçersizdir, çift tırnak zorunludur - Undefined: JavaScript'teki
undefineddeğeri JSON'da temsil edilemez - Comments: JSON yorumları desteklemez
JSON Araçları
MagmaNex üzerinde JSON ile çalışmayı kolaylaştıran araçlar:
- JSON Formatter: JSON'u güzelleştir ve doğrula
- JSON → YAML: YAML formatına dönüştür
- Base64 Encode: JSON verisini base64'e çevir
Sonuç
JSON, modern web geliştirmenin vazgeçilmez parçasıdır. Sade yapısı, geniş dil desteği ve API ekosistemiyle entegrasyonu sayesinde veri değişiminde standart format haline gelmiştir. MagmaNex'in JSON Formatter aracını kullanarak JSON verilerinizi kolayca doğrulayabilir ve güzelleştirebilirsiniz.

