เครื่องมือ
TH

JSON Escape และ Unescape ออนไลน์

แปลงข้อความใดๆ ให้เป็นสตริง JSON ที่ถูกต้อง – เครื่องหมายคำพูด แบ็กสแลช การขึ้นบรรทัด และแท็บจะถูก escape ให้อัตโนมัติ – หรือถอดสตริงที่ escape แล้วกลับเป็นข้อความที่อ่านได้ อีกสองโหมดใช้แปลงเอกสาร JSON เป็นสตริง (stringify) และแปลงกลับ (parse)

เป็นส่วนตัว: ข้อมูลของคุณถูกประมวลผลในเบราว์เซอร์ และไม่มีการอัปโหลดไปที่ใดเลย

วิธี escape สตริงสำหรับ JSON

  1. เลือกโหมด: Escape, Unescape, แปลง JSON เป็นสตริง หรือ แปลงสตริงกลับเป็น JSON
  2. พิมพ์หรือวางข้อมูล ผลลัพธ์จะแสดงทันที เมื่อทำการ escape ให้เลือกว่าจะใส่เครื่องหมายคำพูดครอบหรือไม่ และจะเขียนอักขระที่ไม่ใช่ ASCII เป็น \uXXXX หรือไม่
  3. คัดลอกผลลัพธ์ หรือกด สลับ เพื่อทำย้อนกลับและตรวจสอบว่าแปลงไปกลับได้ถูกต้อง

Escape sequence ใน JSON

อักขระเมื่อ escape แล้ว
เครื่องหมายคำพูดคู่ "\"
แบ็กสแลช \\\
Line feed (ขึ้นบรรทัดใหม่)\n
Carriage return\r
แท็บ\t
Backspace, form feed\b, \f
อักขระควบคุมอื่นๆ U+0000–U+001F\u0000 … \u001f
อักขระใดก็ได้ (ไม่บังคับ)\uXXXX เช่น é → \u00e9, 😀 → \ud83d\ude00
สแลช / (ไม่บังคับ)\/

เครื่องหมายคำพูดเดี่ยวไม่จำเป็นต้อง escape ใน JSON เลย เพราะสตริง JSON ใช้เครื่องหมายคำพูดคู่เสมอ

Stringified JSON คืออะไร

Stringified JSON คือเอกสาร JSON ที่ถูกเก็บไว้ในสตริง JSON – เช่น ฟิลด์ของ API อย่าง "payload": "{\"id\":7}" หรือ JSON ที่บันทึกไว้ในคอลัมน์ของฐานข้อมูล ตัวแปรสภาพแวดล้อม (environment variable) หรือบรรทัดในไฟล์ล็อก แปลง JSON เป็นสตริง จะสร้างสตริงลักษณะนี้จากเอกสาร ส่วน แปลงสตริงกลับเป็น JSON จะแกะสตริงออก แม้จะถูก stringify มาสองชั้น แล้วจัดรูปแบบผลลัพธ์ให้

คำถามที่พบบ่อย

อักขระใดบ้างที่ต้อง escape ใน JSON?

มีเพียงเครื่องหมายคำพูดคู่ แบ็กสแลช และอักขระควบคุม U+0000 ถึง U+001F เช่น การขึ้นบรรทัดและแท็บ อักขระอื่นทั้งหมด – รวมถึง é, 中, ตัวอักษรไทย และอีโมจิ – ใส่ได้ตามปกติใน JSON แบบ UTF-8

ทำไมฉันเห็น \u00e9 แทนที่จะเป็น é?

บางโปรแกรมเขียนอักขระที่ไม่ใช่ ASCII ทุกตัว (รวมถึงตัวอักษรไทย) เป็น escape แบบ \uXXXX ทั้งสองรูปแบบมีความหมายเหมือนกัน และ Unescape จะแปลง escape เหล่านั้นกลับเป็นข้อความที่อ่านได้

การ escape กับการ stringify ต่างกันอย่างไร?

การ escape แปลงข้อความใดๆ ให้เป็น JSON string literal ส่วนการ stringify จะตรวจสอบก่อนว่าข้อมูลเป็น JSON ที่ถูกต้อง แล้วย่อขนาด จากนั้นจึง escape ผลลัพธ์จึงเป็นสตริงที่บรรจุเอกสาร JSON ไว้ข้างใน

unescape สตริงที่ไม่มีเครื่องหมายคำพูดครอบได้ไหม?

ได้ วางเนื้อหาโดยจะมีหรือไม่มีเครื่องหมายคำพูดครอบก็ได้ ระบบยังรองรับเครื่องหมายคำพูดที่ไม่ได้ escape และการขึ้นบรรทัดจริงด้วย