दिलचस्प पोस्ट
दृश्य पर एंड्रॉइड स्केल एनीमेशन UITextView में प्लेसहोल्डर पीएचपी: जांचें कि फाइल को सीधे शामिल करने के बजाय लोड किया गया है या नहीं? डीजेंगो 1.3+ के लिए फ़ाइल उदाहरण के लिए सरल लॉग ऑपरेटर से अधिक या उससे कम का उपयोग करते हुए दो सूचियों की तुलना करना क्या $ _SERVER PHP में मौजूद है या नहीं? SortedArrayUsingDescriptors का उपयोग कर NSMutableArray सॉर्ट करने के लिए कैसे? सशर्त ऑपरेटर निहित नहीं डाल सकते हैं? initComponent () करने के लिए या नहीं initComponent () क्यों session_destroy () काम नहीं कर रहा है सबसेट बीम एल्गोरिथम SQLite ने 14 का एक त्रुटि कोड लौटाया क्या एक विशेषता चयनकर्ता के बीच में एक सीएसएस वाइल्डकार्ड का उपयोग करना संभव है? स्तंभ नाम से एक्सेल कॉलम संख्या मैं एक विलय संघर्ष में भाग गया मैं मर्ज कैसे रोक सकता हूं?

JSON में मल्टीलाइन तार

मैं कुछ डेटा फाइलों को JSON प्रारूप में लिख रहा हूं और मुझे लगता है कि कुछ पंक्तियों में कुछ लंबी पंक्ति स्ट्रिंग अलग-अलग होनी चाहिए I अजगर के जेएसओएन मॉड्यूल का उपयोग करके मुझे बहुत सारी त्रुटियां मिलती हैं, चाहे मैं \ या \n एक पलायन के रूप में उपयोग करूँ।

क्या JSON में बहु-लाइन स्ट्रिंग करना संभव है? यह दृश्य सुविधा के लिए अधिकतर है, इसलिए मुझे लगता है कि मैं सिर्फ अपने संपादक में शब्द लपेटो बदल सकता हूं, लेकिन मैं सिर्फ थोड़े उत्सुक हूँ …

वेब के समाधान से एकत्रित समाधान "JSON में मल्टीलाइन तार"

JSON वास्तविक लाइन-ब्रेक की अनुमति नहीं देता आपको सभी लाइन ब्रेक को \n में बदलना होगा।

मुझे एक छोटे से नोड। जेएस परियोजना के लिए ऐसा करना पड़ा है और यह कार्य-आस-पास पाया गया है :

 { "modify_head": [ "<script type='text/javascript'>", "<!--", " function drawSomeText(id) {", " var pjs = Processing.getInstanceById(id);", " var text = document.getElementById('inputtext').value;", " pjs.drawText(text);}", "-->", "</script>" ], "modify_body": [ "<input type='text' id='inputtext'></input>", "<button onclick=drawSomeText('ExampleCanvas')></button>" ], } 

यह मेरे लिए काफी साफ दिखता है, इस पर से मुझे दोहरे उद्धरण चिह्नों का उपयोग करना पड़ता है। यद्यपि अन्यथा, मैं शायद, YAML का उपयोग कर सकता था, लेकिन इसमें अन्य नुकसान हैं और मूल रूप से समर्थित नहीं है। एक बार पार्स किए जाने के बाद, मैं केवल myData.modify_head.join('\n') या myData.modify_head.join() करता हूं, इस पर निर्भर करता है कि मुझे प्रत्येक स्ट्रिंग के बाद एक लाइन ब्रेक चाहिए या नहीं।

विनिर्देश देखें ! JSON व्याकरण के चार उत्पादन निम्नलिखित मान ले सकते हैं:

  • किसी भी यूनिकोड-चरित्र को छोड़कर- " -or- \ -or-control-character
  • \"
  • \\
  • \/
  • \b
  • \f
  • \n
  • \r
  • \t
  • \u चार-हेक्स-अंक

न्यूलाइनें "नियंत्रण अक्षर" हैं, इसलिए, नहीं हो सकता है कि आपके स्ट्रिंग के भीतर कोई वास्तविक न्यूलाइन न हो। हालांकि आप \n और \r जो भी संयोजन की ज़रूरत है, उसका उपयोग करके इसे सांकेतिक शब्दों में बदलना कर सकते हैं।

यह एक बहुत पुराना सवाल है, लेकिन मैं इस पर एक खोज पर आया और मुझे लगता है कि मुझे आपकी समस्या का स्रोत पता है।

JSON अपने डेटा में "वास्तविक" न्यूलाइनों की अनुमति नहीं देता; यह केवल नई लाइनों को बचा सकता है ऊपर दिए गए @YOU से जवाब देखें प्रश्न के मुताबिक, ऐसा लगता है कि आपने पायथन में लाइन ब्रेक से बचने का प्रयास किया था: लाइन निरंतरता वर्ण ("\") का उपयोग करके या "\ n" एक एस्केप के रूप में प्रयोग करके।

लेकिन ध्यान रखें: यदि आप अजगर में एक स्ट्रिंग का उपयोग कर रहे हैं, विशेष बच पात्रों ("\ t", "\ n") असली नियंत्रण वर्णों में अनुवादित हैं! "\ N" को एएससीआईआई नियंत्रण वर्ण के साथ बदल दिया जाएगा जो कि एक नयी पंक्ति का प्रतिनिधित्व करता है, जो वास्तव में वर्ण है जो JSON में अवैध है। (लाइन निरंतरता के चरित्र के लिए, यह केवल नई लाइन को बाहर ले जाता है।)

तो आपको क्या करने की आवश्यकता है कि अजगरों को बचने से अजगर को रोकने के लिए आप इसे एक कच्ची स्ट्रिंग (स्ट्रिंग के सामने रख सकते हैं, जैसे कि r"abc\ndef" , या नई लाइन ( "abc\\ndef" ) के सामने एक अतिरिक्त स्लैश को शामिल करके यह कर सकते हैं।

उपरोक्त दोनों में, "\ n" को वास्तविक नई लाइन ASCII नियंत्रण वर्ण के साथ बदलने की बजाय, "\ n" को दो अक्षर के रूप में छोड़ दिया जाएगा, जो तब JSON एक नई लाइन से बचने की व्याख्या कर सकते हैं।

JSON पठनीयता के लिए लाइनों को तोड़ने की अनुमति नहीं देता

आपका सबसे अच्छा शर्त यह है कि आप IDE का उपयोग करें जो आपके लिए लाइन-रैप हो।

स्ट्रिंग की एक सरणी के रूप में गुण मूल्य लिखें। यहां दिए गए उदाहरण की तरह https://gun.io/blog/multi-line-strings-in-json/ ये सहायता करेगा।

हम हमेशा तारों की सरणी का उपयोग कर सकते हैं जैसे कि मल्टीलाइन तारों के लिए।

 { "singleLine": "Some singleline String", "multiline": ["Line one", "line Two", "Line Three"] } 

और हम मल्टी लाइन फ़ैशन में सामग्री प्रदर्शित करने के लिए आसानी से सरणी को पुन: चला सकते हैं।

\\n साथ \r\n की सभी घटनाओं को बदलने के लिए regex का उपयोग करें

यह स्कला में मेरे लिए काम किया

 val newstr = str.replace("\r\n", "\\n") 

प्रत्येक पंक्ति को कोट्स में लपेटें और उन्हें नीचे दिखाए गए अनुसार अल्पविराम से समाप्त करें:

 "content": [ "This is the first line", "this is second", "and so on" ] 

क्या JSON में बहु-लाइन स्ट्रिंग करना संभव है?

हाँ। मैंने अभी फ़ैशन वेब ब्राउज़र के साथ F12 दबाकर, कंसोल पर क्लिक करके और स्क्रीन के निचले भाग में टाइप करके यह परीक्षण किया है।

 x={text:"hello\nworld"} 

ऑब्जेक्ट एक्स बस एक जेएसएएन प्रारूप स्ट्रिंग से बनाया गया है जिसमें बहु-लाइन स्ट्रिंग है।

 console.log(x.text) hello world 

एक्स दिखा रहा है कि इसमें एक बहु-लाइन स्ट्रिंग है

इन दो परीक्षणों से पता चलता है कि फ़ायरफ़ॉक्स का जावास्क्रिप्ट इंटरप्रिटर मल्टीलाइन तारों के साथ जेएसओएन बनाने और उपयोग करने में खुश है।

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 उपयोग करने से परिणाम और कई इनपुट लाइनों को लाइन के अंत में \ n उपयोग करके हासिल किया जाता है

व्यवहार में आप स्ट्रिंग में उन लोगों के साथ अपनी रेखा के अंत को सिंक्रनाइज़ करना चाहेंगे, जैसे

 x={text:"experts\n\ exchange"} 

{{नाम}}
{{Name1}}

my.opt.push ({ 'name': 'पंक्ति 1', 'name1': 'पंक्ति 2')

 fieldval = rs.getString(rs.getMetaData().getColumnName(i)) .trim() .replace("\\", "/") .replace("\r\n", "\\n") .replace("''", "\\n") .replace("\"", "\\n"); 

बहु मल्टी लाइन के साथ नोटपैड ++ में कोई भी टेक्स्ट लिखें, फिर सीटीएल + ए और सीटीएल + जे को एक पंक्ति में व्यवस्थित करें

जेसन फाइल में लिखें:

 { "key":"multi line copied from notepad++" } 

multiline पाठ को txt फ़ाइल पर डाल दिया और उसके बाद

 var str = { text: cat('path_to_file/text.txt') } 

(यह मोंगो डीबी पर काम करता है)

आप वाक्यों के बीच <div></div> जगह की कोशिश कर सकते हैं