Alam JSON sering menimbulkan persoalan: apakah yang menjadi minimum untuk rentetan JSON yang sah? Artikel ini menawarkan penerokaan yang mendalam tentang isu ini.
Pada masa awal, RFC4627 berfungsi sebagai sumber muktamad untuk spesifikasi JSON. Piawaian ini menentukan bahawa kedua-dua "{}" dan "[]" mewakili rentetan JSON kendiri yang sah. Semua kejadian lain dianggap tidak sah.
Walau bagaimanapun, pendekatan ini telah berkembang dengan pengenalan ECMA-404, yang membawa perubahan ketara.
ECMA-404 mengembangkan definisi nilai JSON yang sah untuk memasukkan bukan sahaja objek dan tatasusunan tetapi juga rentetan, nombor dan banyak lagi. Sehubungan itu, julat rentetan yang lebih luas menjadi sah, termasuk literal seperti "rentetan" dan nilai angka seperti 42.
Pelayar web, walau bagaimanapun, telah menggunakan piawaian mereka sendiri yang dipengaruhi oleh spesifikasi ES5. Versi spesifikasi ini membenarkan sebarang nilai JSON yang sah, termasuk boolean (cth., "true"), sebagai punca rentetan JSON.
Adalah penting untuk ambil perhatian bahawa bukan semua Pelaksanaan JSON mematuhi piawaian yang sama. Ruby, misalnya, tetap ketat dalam pelaksanaannya, hanya menerima objek dan tatasusunan sebagai akar yang sah. PHP, sebaliknya, menggabungkan pengecualian yang membenarkan nilai skalar dan nol.
Takrifan JSON yang sah telah mengalami perubahan yang halus tetapi ketara dari semasa ke semasa. Walaupun "{}" dan "[]" kekal sebagai bentuk yang paling asas, spesifikasi moden membenarkan julat nilai rentetan yang lebih luas. Memahami nuansa pelaksanaan yang berbeza adalah penting untuk memastikan keserasian dan mengelakkan ralat penghuraian yang tidak dijangka.
Atas ialah kandungan terperinci Apa yang Mentakrifkan Rentetan JSON yang Sah: Penyelaman Mendalam ke dalam Evolusi Piawaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!