เป็นไปได้ไหมที่จะมีสตริงหลายบรรทัดใน JSON?
ใช่. ฉันเพิ่งทดสอบตอนนี้ด้วยเว็บเบราว์เซอร์ Firefox ของฉันโดยกด F12 คลิกคอนโซลและพิมพ์ที่ด้านล่างของหน้าจอ
x={text:"hello\nworld"}
เพิ่งสร้าง Object x จากสตริงรูปแบบ JSON ที่มีสตริงหลายบรรทัด
console.log(x.text)
hello
world
x.text แสดงขึ้นมาซึ่งแสดงว่าเป็นสตริงหลายบรรทัด
การทดสอบทั้งสองนี้แสดงให้เห็นว่าล่าม Javascript ของ Firefox มีความสุขในการสร้างและใช้ JSON ด้วยสตริงหลายบรรทัด
ทดสอบเพิ่มเติมด้วยJSON.stringify
และJSON.parse
แสดงล่าม Javascript สามารถแปลงวัตถุที่มีสตริงหลายบรรทัดเพื่อ JSON และแยกมันกลับมาอีกครั้งโดยไม่มีปัญหาเลย
ฉันเคยเก็บผลงานที่สมบูรณ์ของเช็คสเปียร์เป็นทรัพย์สินในออบเจ็กต์ JSON แล้วส่งผ่านทางอินเทอร์เน็ตโดยไม่มีการทำลาย
ตัวอย่าง
นี่คือสตริงสองบรรทัดที่ป้อนผ่านสามบรรทัด
x={text:"expert\
s\nex\
change"}
เราสามารถแสดงวัตถุ
console.log(x)
ให้
Object { text: "experts\nexchange" }
หรือสตริง
console.log(x.text)
ให้
experts
exchange
จุดสิ้นสุดของบรรทัดในผลลัพธ์สตริงจากการใช้ \ n และหลายบรรทัดอินพุตทำได้โดยใช้เพียง \ ที่ส่วนท้ายของบรรทัด
ในทางปฏิบัติคุณอาจต้องการซิงโครไนซ์จุดสิ้นสุดบรรทัดของคุณกับสิ่งที่อยู่ในสตริงเช่น
x={text:"experts\n\
exchange"}
ความยาวสตริงหลายบรรทัด
console.log("Hello\nWorld".length)
11
console.log("Hello World".length)
11
โปรดทราบว่าสตริงที่มีการขึ้นบรรทัดใหม่จะต้องไม่ยาวกว่าสตริงที่มีช่องว่าง แม้ว่าอักขระสองตัวถูกพิมพ์บนแป้นพิมพ์ ('\' และ 'n') จะมีการจัดเก็บอักขระเพียงตัวเดียวในสตริง