Xử lý chuỗi JSON bị escape dấu ngoặc kép kép ("") bằng substring(), replace() và JSON.parse().
Ví dụ
var dirtyJson = `"{\"name\": \"John\",\"subjectName\": \"Introduction To JavaScript\"}"`;
console.log("Chuỗi gốc:", dirtyJson);
// Bước 1: Bỏ dấu " ở đầu/cuối
var step1 = dirtyJson.substring(1, dirtyJson.length - 1);
// Bước 2: Thay "" thành "
var step2 = step1.replace(/""/g, '"');
console.log("Sau làm sạch:", step2);
// Bước 3: Parse thành object
var obj = JSON.parse(step2);
console.log("Object:", obj);
Cách chạy
node demo.js
Kết quả
Chuỗi gốc: "{\"name\": \"John\",\"subjectName\": \"Introduction To JavaScript\"}"
Sau làm sạch: {"name": "John","subjectName": "Introduction To JavaScript"}
Object: { name: 'John', subjectName: 'Introduction To JavaScript' }
Lưu ý: Chuỗi đầu vào có format đặc biệt (double-escaped). JSON chuẩn không cần xử lý này.