Developer guides · Başvuru

JSON başvuru sayfası: türler ve söz dizimi

Bu referans temel JSON sözdizimini toplar. Parse edilebilmek verinin iş kurallarına uygun olduğunu göstermez.

TürÖrnekNot
object{ "id": 7 }Çift tırnaklı anahtar/değer.
array["a", "b"]Sıralı değer listesi.
string"merhaba"Çift tırnaklı metin.
number12.5NaN/Infinity standart değer değildir.
booleantrue / falseKüçük harfle yazılır.
nullnullBilerek boş değer.

Geçerli nesne

Nesne süslü, dizi köşeli parantez kullanır. Anahtar çift tırnaklı, alan ayıracı iki nokta, çiftler arası ayraç virgüldür.

JSON yorum, undefined, fonksiyon veya tarih nesnesi içermez. Tarihler çoğunlukla metin olarak taşınır.

Escape dizileri

Dizelerde tırnak, ters eğik çizgi ve kontrol karakterleri kaçırılır. Yeni satır için \n kullanılır; Unicode kaçışları \uXXXX olabilir.

JSON’u JavaScript string içine koyarsanız iki dilin kaçış kuralları üst üste gelir; parser ile doğrulayın.

Sözdizimi ve şema

Parser sözdizimini denetler. Zorunlu alan ve tipler için JSON Schema veya uygulama doğrulaması gerekir.

İmza oluşturma gibi durumlarda anahtar sırası ve normalize kuralını belirleyin.

Sayılar ve taşınabilirlik

JSON sayı sözdizimi ondalık biçimleri destekler; NaN ve Infinity geçerli JSON değerleri değildir. Farklı programlama dilleri büyük tam sayıları farklı hassasiyetle temsil edebilir.

Kimlik numarası veya hassas büyük sayı taşıyorsanız API sözleşmesinin bunu sayı mı yoksa metin mi olarak tanımladığını kontrol edin. Aynı nesnede yinelenen anahtar kullanmaktan kaçının; ayrıştırıcılar bu durumu farklı ele alabilir.

API yanıtını doğrulama sırası

Önce HTTP yanıtının başarılı olup olmadığını kontrol edin, sonra gövdeyi JSON olarak ayrıştırın ve son olarak beklenen alanları ve tipleri doğrulayın. Geçerli JSON, uygulamanızın beklediği veriyi içerdiğini tek başına kanıtlamaz.

Eksik, null veya yeni eklenmiş alanlara karşı uygulamanın davranışını tasarlayın. Bilinmeyen alanları tolere etmek API sürümleri arasında uyumu kolaylaştırabilir; güvenlik ve iş kuralları ayrıca doğrulanmalıdır.