2011-01-23 15 views
5

मैंने पाया, जब फ़ायरफ़ॉक्स के JSON.stringify फ़ंक्शन लाइन ब्रेक के साथ स्ट्रिंग को परिवर्तित करता है तो यह '\ n' वर्णों को '\ u000a' में परिवर्तित करता है। और जब यह डेटा '\ u000a' के बजाय jQuery.ajax.send के माध्यम से सर्वर पर आता है तो मुझे केवल एक सफेद जगह दिखाई देती है। कोई भी एक ही समस्या में भाग गया? कृपया मुझे सही दिशा में इंगित करें।फ़ायरफ़ॉक्स और लाइन ब्रेक में JSON.stringify

+0

नोट [इस JSON चेतावनी] (http://stackoverflow.com/questions/5074034/activesupportjson-decode-does-not-properly-handle-literal-:

<div>this example</div> 

के बराबर है लाइन ब्रेक/5086768 # 5086768); यह आपको काट रहा है या नहीं हो सकता है, लेकिन मैंने सोचा कि मैं इसे इंगित करूंगा। –

उत्तर

0

एक नई लाइन के लिए यूनिकोड कोड बिंदु U + 000A है। फ़ायरफ़ॉक्स को '\ n' को छोटा करने के बजाय यूनिकोड '\ u000a' में नई लाइन को एन्कोड करना चुनना होता है। According to the JSON spec, यह यूनिकोड रूप का उपयोग करने के लिए स्वीकार्य है।

क्या आप वाकई आउटपुट के साथ कुछ भी गलत हैं? कोई भी JSON लाइब्रेरी '\ u000a' को ठीक से संभालने में सक्षम होना चाहिए।

यदि आप एचटीएमएल में डीकोडेड JSON को लपेटकर डिबगिंग कर रहे हैं, तो एक नई लाइन उन जगहों पर एक स्थान के बराबर है जहां व्हाइटस्पेस महत्वहीन है। जैसे

<div>this example</div> 
संबंधित मुद्दे