Công cụ
VI

Escape và Unescape chuỗi JSON

Biến bất kỳ văn bản nào thành chuỗi JSON hợp lệ – dấu nháy, dấu gạch chéo ngược, xuống dòng và tab đều được escape tự động – hoặc giải mã chuỗi đã escape trở lại thành văn bản dễ đọc. Hai chế độ còn lại giúp stringify một tài liệu JSON và parse ngược lại.

Riêng tư: dữ liệu của bạn được xử lý ngay trong trình duyệt và không bao giờ được tải lên.

Cách escape chuỗi cho JSON

  1. Chọn chế độ: Escape, Unescape, Stringify JSON hoặc Parse chuỗi JSON.
  2. Nhập hoặc dán dữ liệu đầu vào; kết quả hiện ra ngay lập tức. Khi escape, bạn có thể chọn có thêm dấu nháy bao quanh hay không và có ghi ký tự non-ASCII dưới dạng \uXXXX hay không.
  3. Sao chép kết quả, hoặc nhấn Đổi chiều để thực hiện thao tác ngược lại và kiểm tra kết quả hai chiều.

Các chuỗi escape trong JSON

Ký tựDạng escape
Dấu nháy kép "\"
Dấu gạch chéo ngược \\\
Xuống dòng (line feed)\n
Về đầu dòng (carriage return)\r
Tab\t
Backspace, form feed\b, \f
Các ký tự điều khiển khác U+0000–U+001F\u0000 … \u001f
Mọi ký tự (tùy chọn)\uXXXX, ví dụ é → \u00e9, 😀 → \ud83d\ude00
Dấu gạch chéo / (tùy chọn)\/

Dấu nháy đơn không bao giờ cần escape trong JSON, vì chuỗi JSON luôn dùng dấu nháy kép.

Stringified JSON (JSON dạng chuỗi)

Stringified JSON là một tài liệu JSON được lưu bên trong một chuỗi JSON – ví dụ một trường API như "payload": "{\"id\":7}", hoặc JSON lưu trong một cột cơ sở dữ liệu, biến môi trường hay một dòng log. Stringify JSON tạo ra chuỗi như vậy từ một tài liệu; Parse chuỗi JSON mở lớp bọc đó, kể cả khi đã bị stringify hai lần, rồi định dạng kết quả.

Câu hỏi thường gặp

Những ký tự nào phải escape trong JSON?

Chỉ có dấu nháy kép, dấu gạch chéo ngược và các ký tự điều khiển từ U+0000 đến U+001F, như xuống dòng và tab. Mọi ký tự khác – kể cả é, 中, chữ tiếng Việt có dấu và emoji – đều có thể xuất hiện nguyên dạng trong JSON UTF-8.

Tại sao tôi thấy \u00e9 thay vì é?

Một số chương trình ghi mọi ký tự non-ASCII dưới dạng escape \uXXXX. Cả hai dạng đều mang cùng ý nghĩa; Unescape sẽ chuyển các chuỗi escape trở lại thành văn bản dễ đọc.

Escape và stringify khác nhau thế nào?

Escape biến bất kỳ văn bản nào thành một chuỗi JSON literal. Stringify trước tiên kiểm tra xem đầu vào có phải JSON hợp lệ không, rút gọn nó rồi mới escape, nên kết quả là một chuỗi chứa một tài liệu JSON.

Có thể unescape chuỗi không có dấu nháy bên ngoài không?

Có. Bạn có thể dán nội dung kèm hoặc không kèm dấu nháy bao quanh; dấu nháy chưa escape bị lạc và ký tự xuống dòng thật cũng được chấp nhận.