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

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

Patricia Arquette
Patricia Arquetteasal
2024-12-05 03:20:09454semak imbas

How to Properly Handle Newlines in JSON to Avoid Parsing Errors?

Mengendalikan Baris Baharu dalam JSON: Elakkan Sakit Kepala Penilaian

Apabila bekerja dengan data JSON dalam JavaScript, menjadi penting untuk mengendalikan baris baharu dengan berkesan untuk mengelakkan penghuraian kesilapan. Pertimbangkan contoh berikut apabila percubaan untuk menukar data JSON yang mengandungi baris baharu kepada objek gagal menggunakan kedua-dua eval dan JSON.parse:

var data = '{"count" : 1, "stack" : "sometext\n\n"}';
var dataObj = eval('('+data+')');  // This approach is discouraged

Isu ini berpunca daripada kehadiran baris baharu (n) dalam rentetan, yang disalahtafsirkan sebagai pemisah baris dalam data JSON, menyebabkan proses penilaian ditamatkan lebih awal dan menjana "rentetan tidak ditamatkan literal" ralat.

Untuk membetulkan masalah ini dan berjaya menukar data JSON kepada objek, adalah penting untuk melepaskan aksara baris baharu dengan menggandakannya. Ini memastikan bahawa baris baharu dikekalkan sebagai sebahagian daripada data JSON dan tidak ditafsirkan sebagai pemisah baris. Kod yang diperbetulkan akan kelihatan seperti ini:

var data = '{"count" : 1, "stack" : "sometext\n\n"}';
var dataObj = JSON.parse(data);

Meloloskan diri daripada aksara baris baharu membolehkan penghurai JSON mentafsir data dengan betul dan mencipta objek yang dikehendaki tanpa menghadapi sebarang ralat penghuraian.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Baris Baharu dengan betul dalam 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