JSON (JavaScript Object Notation) , veri değişimi için kullanılan, insan tarafından okunabilen, hafif ve kolay bir biçimlendirme standardıdır. JSON, özellikle web uygulamaları arasında veri taşımak ve API’ler ile çalışmak için yaygın olarak tercih edilir.
JSON’un Temel Özellikleri
- Basit ve Okunabilir : İnsan tarafından kolayca okunabilir ve yazılabilir bir yapıya sahiptir.
- Dil Bağımsız : Adı “JavaScript” olsa da, hemen hemen tüm programlama dilleri JSON’u çalıştırır.
- Hafif : XML gibi diğer veri formatlarına kıyasla daha az yer kaplar, bu nedenle verinin tamamlanması için daha verimlidir.
- Kolay Pars Edilebilir : Çoğu programlama dilinde JSON’u işlemek için çalıştırılırlar veya işlevler bulunur.
JSON, iki temel yapı üzerine kurulmuştur:
- Anahtar-Değer Çiftleri (Anahtar-Değer Çiftleri) :
{ "key": "value" }
şeklinde.
{
"name": "John",
"age": 30,
"city": "New York"
}
2. Diziler :
- Köşeli parantezler
[ ]
içinde sıralanır.
{
"fruits": ["apple", "banana", "cherry"]
}
JSON Verilerinin Türleri
- String (Metin) : Çift tırnak içinde bulunur. (
"Hello"
) - Number (Sayı) : Tam sayılar veya ondalıklı sayılar olabilir. (
42
,3.14
) - Boolean (Mantıksal) :
true
veyafalse
değerlerini alabilir. - Array (Dizi) : Köşeli parantezlerle belirtilir. (
[1, 2, 3]
) - Nesne (Nesne) : Süslü parantezlerle belirtilmiştir. (
{"key": "value"}
) - Null : Boş değeri ifade eder. (
null
)
JSON ile Çalışma
JSON verisi, çoğu dilde nesneye dönüştürülebilir. Örneğin: Json okuma işlemi;
//javascript
const jsonString = '{"name": "John", "age": 30}';
const jsonObject = JSON.parse(jsonString);
console.log(jsonObject.name); // Çıktı: John
//C#
using System.Text.Json;
string jsonString = "{\"name\":\"John\",\"age\":30}";
var jsonObject = JsonSerializer.Deserialize<Dictionary<string, object>>(jsonString);
Console.WriteLine(jsonObject["name"]); // Çıktı: John
JSON oluşturma;
//javascript
const jsonObject = { name: "John", age: 30 };
const jsonString = JSON.stringify(jsonObject);
console.log(jsonString); // Çıktı: {"name":"John","age":30}
//C#
using System.Text.Json;
var jsonObject = new { name = "John", age = 30 };
string jsonString = JsonSerializer.Serialize(jsonObject);
Console.WriteLine(jsonString); // Çıktı: {"name":"John","age":30}
JSON’un Kullanım Alanları
- Web API’ler :
- JSON, RESTful API’ler aracılığıyla veri alışverişinde yaygın olarak kullanılır.
- Veri Depolama :
- JSON dosyaları, ayarları veya veri saklama için kullanılabilir. Örnek:
settings.json
- JSON dosyaları, ayarları veya veri saklama için kullanılabilir. Örnek:
- JavaScript Tabanlı Uygulamalar :
- React, Angular gibi düzenler ve çerçeveler JSON’u temel alır.
- Veri Aktarımı :
- İstemci ve sunucu arasında hızlı ve verimli veri aktarımı sağlar.
JSON Örneği
Aşağıda basit bir settings.json
dosya örneği verilmiştir:
{
"appName": "MyApp",
"version": "1.0.0",
"settings": {
"theme": "dark",
"language": "en-US"
},
"users": [
{ "id": 1, "name": "Alice" },
{ "id": 2, "name": "Bob" }
]
}
JSON’un Avantajları ve Dezavantajları
Avantajları:
- Basit ve kolaydır.
- Daha fazla bilgi için lütfen yerinize bakın.
- XML’e göre daha hızlı işlenir.
Dezavantajları:
- Yalnızca metin tabanlıdır; ikili veri taşımak için uygun değildir.
- Güvenlik açıklarına (örneğin, JSON Hijacking) karşı dikkatli olunmalıdır.