jQuery.parseJSON() tidak boleh menghuraikan JSON yang mengandungi petikan tunggal yang dilepaskan Rentetan JSON yang sah. Ini adalah perkara biasa kerana spesifikasi JSON hanya membenarkan petikan berganda melarikan diri.
Seperti yang ditunjukkan di bawah, gambarajah mesin keadaan JSON menunjukkan bahawa hanya petikan berganda dibenarkan untuk dilepaskan, petikan tunggal tidak dibenarkan.
[Imej: Mesin Negeri JSON]
Walaupun spesifikasi tidak membenarkan petikan tunggal melarikan diri, sesetengah pelaksanaan JSON mungkin menerimanya. Contohnya, org.json untuk Java membenarkan petikan tunggal, manakala json2.js yang digunakan oleh jQuery mengikut spesifikasi dan tidak membenarkannya.
jQuery.parseJSON mula-mula cuba menggunakan penghurai JSON asli penyemak imbas atau json2.js, jadi ia hanya permisif seperti pelaksanaan asas. Memandangkan json2.js mengikut spesifikasi, jQuery juga tidak membenarkan petikan tunggal.
parseJSON: function( data ) { ... // Attempt to parse using the native JSON parser first if ( window.JSON && window.JSON.parse ) { return window.JSON.parse( data ); } ... jQuery.error( "Invalid JSON: " + data ); },
Untuk mengelakkan ralat semasa menghuraikan JSON menggunakan jQuery.parse, elakkan menggunakan petikan tunggal dalam rentetan JSON atau tukar kepada pustaka JSON yang menerima pelaksanaan petikan tunggal.
Atas ialah kandungan terperinci Berikut ialah beberapa tajuk soalan dan jawapan bahasa Inggeris yang dijana berdasarkan kandungan artikel yang anda berikan: 1. Mengapakah jQuery.parseJSON() membuang ralat \'JSON Tidak Sah\' apabila terdapat petikan tunggal yang terlepas dalam JSON? 2. Adakah ia dibenarkan untuk melepaskan petikan tunggal dalam JSO. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!