Rumah >hujung hadapan web >tutorial js >Apakah JSON Sah Minimum, dan Adakah Ia Bergantung pada Parser?

Apakah JSON Sah Minimum, dan Adakah Ia Bergantung pada Parser?

Susan Sarandon
Susan Sarandonasal
2024-11-04 08:57:30783semak imbas

What is the Minimum Valid JSON, and Does It Depend on the Parser?

JSON Sah Minimum: Perjalanan Menerusi Pematuhan Piawaian

Takrifan JSON yang sah telah menjadi topik perdebatan disebabkan oleh piawaian yang berkembang. Menurut RFC4627, dokumen asas untuk JSON, hanya objek kosong ({}) dan tatasusunan kosong ([]) layak sebagai rentetan JSON lengkap.

Walau bagaimanapun, ECMA-404 membawa perubahan ketara dengan membenarkan mana-mana JSONValue , termasuk rentetan, nombor dan nol, di peringkat atas. Ini bermakna bahawa dalam parser dan stringifier yang mematuhi ECMA-404, JSON minimum yang sah adalah seperti berikut:

  • {}
  • []
  • "rentetan"
  • 42 (nombor)
  • true
  • null

Walau bagaimanapun, pelayar web melaksanakan JSON menggunakan ES5, yang turut membenarkan jenis skalar dan NULL sebagai JSON yang sah. Akibatnya, penyemak imbas mungkin menerima:

  • 5 (nombor)

Adalah penting untuk ambil perhatian bahawa sesetengah penghurai, seperti Ruby, hanya boleh menerima objek dan tatasusunan sebagai elemen akar, mematuhi RFC4627 dengan ketat. PHP, sebaliknya, secara eksplisit membenarkan jenis skalar dan NULL.

Oleh itu, JSON sah minimum bergantung pada penghurai atau pengurai tertentu yang digunakan. Untuk memastikan keserasian merentas pelaksanaan yang berbeza, anda disyorkan untuk sentiasa menggunakan objek atau tatasusunan JSON sebagai punca data JSON anda.

Atas ialah kandungan terperinci Apakah JSON Sah Minimum, dan Adakah Ia Bergantung pada Parser?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn