Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengekodkan Baris Baharu dengan betul dalam Rentetan JSON untuk Mengelakkan Ralat Penghuraian?

Bagaimana untuk Mengekodkan Baris Baharu dengan betul dalam Rentetan JSON untuk Mengelakkan Ralat Penghuraian?

Barbara Streisand
Barbara Streisandasal
2024-12-01 04:56:17510semak imbas

How to Properly Encode Newlines in JSON Strings to Avoid Parsing Errors?

Pengekodan Baris Baharu dalam Rentetan JSON

Apabila mengendalikan JSON dalam JavaScript, baris baharu boleh menimbulkan cabaran semasa proses penghuraian. Ralat penghuraian mungkin timbul jika baris baharu tidak dikodkan dengan sewajarnya dalam rentetan JSON.

Dalam coretan kod yang disediakan, ralat berlaku kerana aksara baris baharu (n) tidak dikendalikan dengan betul dalam rentetan JSON. Apabila cuba menggunakan eval('(' data ')') untuk menghuraikan JSON, baris baharu menyebabkan rentetan ditamatkan lebih awal, mengakibatkan ralat "rentetan tidak ditamatkan". Begitu juga, menggunakan JSON.parse(data) membawa kepada ralat yang sama disebabkan oleh token baris baharu yang tidak dijangka.

Untuk menyelesaikan isu ini, aksara baris baharu mesti dilepaskan menggunakan garis segaris dua ke belakang (\). Berikut ialah rentetan JSON yang diperbetulkan:

var data = '{"count" : 1, "stack" : "sometext\n\n"}';

Dengan melarikan diri dari , anda mengarahkan penghurai JSON untuk mentafsirkannya sebagai sebahagian daripada nilai rentetan dan bukannya aksara baris baharu literal. Ini membolehkan JSON dihuraikan dengan jayanya tanpa menyebabkan sebarang ralat.

Atas ialah kandungan terperinci Bagaimana untuk Mengekodkan Baris Baharu dengan betul dalam Rentetan JSON untuk Mengelakkan Ralat Penghuraian?. 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