JSON bir dizi veya nesne olabilir. Özellikle json.org dışında:
JSON iki yapı üzerine kurulmuştur:
- Bir isim / değer çifti koleksiyonu. Çeşitli dillerde, bu bir nesne, kayıt, yapı, sözlük, karma tablosu, anahtarlı liste veya ilişkilendirilebilir dizi olarak gerçekleştirilir.
- Sıralı değerler listesi. Çoğu dilde bu bir
dizi, vektör, liste veya dizi olarak gerçekleştirilir.
Daha sonra iki yapıyı şu şekilde tarif eder:
Başlangıç ve bitiş karakterlerinin sırasıyla köşeli parantez ve köşeli parantez olduğunu unutmayın.
Düzenle
ve buradan: http://www.ietf.org/rfc/rfc4627.txt
JSON metni bir dizi dizgidir. Simge seti altı yapısal karakter, dize, sayı ve üç değişmez ad içerir.
JSON metni serileştirilmiş bir nesne veya dizidir.
Güncelleme (2014)
Mart 2014 itibariyle , tanımı biraz değiştiren yeni bir JSON RFC ( 7159 ) vardır (bkz. Sayfa 4/5).
RFC 4627'ye göre tanım: JSON-text = object / array
Bu RFC 7159'da şu şekilde değiştirildi: JSON-text = ws value ws
Burada ws
boşluk temsil eder ve value
şu şekilde tanımlanır:
JSON değeri bir nesne, dizi, sayı veya dize veya aşağıdaki üç değişmez addan biri OLMALIDIR:
false null true
Yani, sorunun cevabı hala evet, JSON metni bir köşeli parantezle (yani bir dizi) başlayabilir. Ama nesneler ve diziler ek olarak, artık aynı zamanda bir sayı, dize veya değerler olabilir false
, null
ya da true
.
Ayrıca, bu önceki RFC 4627 teklifimden değişti (vurgu eklendi):
JSON metni bir dizi dizgidir. Simge seti altı yapısal karakter, dize, sayı ve üç değişmez ad içerir.
JSON metni serileştirilmiş bir değerdir . Önceki JSON spesifikasyonlarının bir JSON metnini bir nesne veya dizi olarak sınırladığını unutmayın. Yalnızca bir JSON metninin çağrıldığı nesneleri veya dizileri oluşturan uygulamalar, tüm uygulamaların bunları uygun JSON metinleri olarak kabul etmesi açısından birlikte çalışabilir.
[]
bir dizi olarak ayrıştırmak ve ilk dizi öğesini almaktır.)