क्या JSON में मल्टी-लाइन स्ट्रिंग्स होना संभव है?
हाँ। मैंने अभी F12 दबाकर, कंसोल पर क्लिक करके और स्क्रीन के नीचे टाइप करके अपने फ़ायरफ़ॉक्स वेब ब्राउज़र से अभी इसका परीक्षण किया है।
x={text:"hello\nworld"}
ऑब्जेक्ट एक्स सिर्फ एक JSON प्रारूप स्ट्रिंग से बनाया गया है जिसमें एक बहु-लाइन स्ट्रिंग है।
console.log(x.text)
hello
world
x.text यह प्रदर्शित करता है कि यह एक बहु-पंक्ति स्ट्रिंग है।
इन दो परीक्षणों से पता चलता है कि फ़ायरफ़ॉक्स का जावास्क्रिप्ट दुभाषिया मल्टीलाइन स्ट्रिंग्स के साथ JSON बनाने और उपयोग करने के लिए खुश है।
जावास्क्रिप्ट इंटरप्रेटर के साथ अधिक परीक्षण JSON.stringify
और JSON.parse
एक वस्तु को जेईएस में मल्टीलाइन स्ट्रिंग्स युक्त एक वस्तु में परिवर्तित कर सकते हैं और इसे फिर से पार्स कर सकते हैं, जिसमें कोई समस्या नहीं है।
मैंने अतीत में शेक्सपियर के संपूर्ण कार्यों को एक JSON ऑब्जेक्ट में एक संपत्ति के रूप में संग्रहीत किया है और फिर इसे इंटरनेट पर भेज दिया है, अनियंत्रित।
उदाहरण
यहाँ एक दो लाइन स्ट्रिंग है जो तीन लाइनों में प्रवेश करती है
x={text:"expert\
s\nex\
change"}
हम वस्तु को प्रदर्शित कर सकते हैं
console.log(x)
दे रही है
Object { text: "experts\nexchange" }
या स्ट्रिंग
console.log(x.text)
दे रही है
experts
exchange
\ N का उपयोग करने से स्ट्रिंग परिणाम में पंक्तियों की समाप्ति और एकाधिक इनपुट लाइनों को लाइन के अंत में just \ का उपयोग करके प्राप्त किया जाता है।
व्यवहार में आप स्ट्रिंग में मौजूद लोगों के साथ अपनी लाइन एंडिंग्स को सिंक्रनाइज़ करना चाहते हैं, जैसे
x={text:"experts\n\
exchange"}
मल्टी-लाइन स्ट्रिंग लंबाई
console.log("Hello\nWorld".length)
11
console.log("Hello World".length)
11
ध्यान दें कि न्यूलाइन के साथ स्ट्रिंग स्पेस के साथ स्ट्रिंग से अधिक लंबी नहीं है। भले ही कीबोर्ड पर दो वर्ण टाइप किए गए हों ('\' और 'n'), केवल एक वर्ण स्ट्रिंग में संग्रहीत होता है।