Takrifan sintaks JSON telah tertakluk kepada variasi halus dari semasa ke semasa, yang membawa kepada kekeliruan mengenai kriteria tepat untuk sah Rentetan JSON.
Pada mulanya, spesifikasi JSON, seperti yang ditakrifkan dalam RFC 4627, mengehadkan JSON yang sah dengan ketat kepada objek bersiri ({}) dan tatasusunan([]). Ini bermakna nilai mudah seperti rentetan, nombor, benar dan palsu tidak dianggap sebagai JSON yang sah dengan sendirinya.
Walau bagaimanapun, pengenalan ECMA-404 diperluaskan takrifan JSON untuk memasukkan JSONValues peringkat atas, yang merangkumi semua jenis data JSON. Akibatnya, penyemak imbas web kini membenarkan semua nilai JSON sebagai JSON yang sah.
Adalah penting untuk ambil perhatian bahawa penyemak imbas melaksanakan objek JSON berdasarkan ES5, yang membenarkan skalar jenis dan NULL sebagai nilai JSON yang sah. Ini adalah pengecualian daripada spesifikasi RFC 4627 asal. Akibatnya, beberapa pelaksanaan lain, seperti Ruby, mematuhi RFC 4627, menghasilkan tafsiran berbeza bagi JSON yang sah.
Memahami nuansa ini adalah penting, terutamanya apabila bekerja dengan JSON yang berbeza penghurai dan pengekod. Adalah penting untuk mengesahkan sama ada pelaksanaan mengikut RFC 4627 atau menggunakan takrifan ECMA-404 yang lebih permisif, kerana ini menjejaskan pengesahan rentetan JSON.
Atas ialah kandungan terperinci Apa yang Mentakrifkan JSON Sah: RFC 4627 lwn. ECMA-404?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!