JSON को XML में बदलें

आपके डिवाइस पर चलता है · आपकी फ़ाइल कभी आपके डिवाइस से बाहर नहीं जाती।

JSON पेस्ट कीजिए या फ़ाइल डालिए और ऊपर डिक्लेरेशन और हर key के लिए एक एलिमेंट वाला XML दस्तावेज़ पाइए। जिस दस्तावेज़ में सबसे ऊपर एक ही key हो, उसमें वही रूट एलिमेंट बनती है; बाक़ी सब कुछ <root> के भीतर जाता है। लिस्ट अपनी key के नाम के दोहराए गए एलिमेंट बनती है — "items": [..] से कई <items> एलिमेंट बनते हैं — और सबसे ऊपर की लिस्ट <root> के भीतर <item> एलिमेंट बनती है।

@ से शुरू होने वाली key एट्रिब्यूट बनती हैं और "#text" key एलिमेंट का टेक्स्ट — यही ढाँचा "XML को JSON में बदलें" टूल लिखता है, इसलिए वहाँ बदला गया दस्तावेज़ यहाँ उसी XML के रूप में लौटता है। बाक़ी हर मान अपने एलिमेंट के भीतर टेक्स्ट है, null खाली एलिमेंट बनता है, और दस्तावेज़ हर स्तर पर दो स्पेस से इंडेंट है। जो key XML नाम के रूप में नहीं चलतीं — अंक से शुरू, स्पेस या चिह्न वाली — उन्हें अंडरस्कोर से साफ़ कर दिया जाता है, ताकि नतीजा हमेशा पार्स हो।

टेक्स्ट सही एस्केप होता है (&, <, > और एट्रिब्यूट में उद्धरण चिह्न और लाइन ब्रेक); कंट्रोल अक्षर, जिन्हें XML 1.0 रख ही नहीं सकता, हटा दिए जाते हैं। एन्कोडिंग UTF-8 है, और डाउनलोड से पहले पहली 200 पंक्तियाँ दिखती हैं। कुछ अपलोड नहीं होता।

JSON को XML में बदलें कैसे करें

  1. JSON फ़ाइल डालिए, या बॉक्स में JSON पेस्ट कीजिए।
  2. "XML में बदलें" दबाइए।
  3. पूर्वावलोकन जाँचिए और .xml डाउनलोड कीजिए।

समर्थित फ़ॉर्मेट और सीमाएँ

इनपुट
JSON (.json) — फ़ाइल या पेस्ट किया टेक्स्ट
आउटपुट
XML 1.0, UTF-8, ऊपर डिक्लेरेशन, सुंदर इंडेंट
रूट
सबसे ऊपर की अकेली key, वरना <root>; सबसे ऊपर की लिस्ट <item> एलिमेंट बनती है
लिस्ट
key के नाम के दोहराए गए एलिमेंट
कहाँ चलता है
आपके ब्राउज़र में — कोई अपलोड नहीं

इनके लिए नहीं: किसी तय XML स्कीमा (SOAP, RSS, कोई इनवॉइस मानक) से मेल — एलिमेंट के नाम आपकी JSON key से आते हैं, किसी स्कीमा से नहीं।

आपकी key एलिमेंट के नाम कैसे बनती हैं

@ से शुरू होने वाली key एट्रिब्यूट बनती है और "#text" key एलिमेंट का टेक्स्ट, इसलिए {"item": {"@id": 3, "#text": "A"}} से <item id="3">A</item> बनता है। जब दस्तावेज़ में सबसे ऊपर एक ही key हो, तो वही रूट एलिमेंट होती है; वरना सब कुछ <root> के भीतर जाता है।

जो अक्षर XML नाम में नहीं चलता, वह अंडरस्कोर बन जाता है, और जो नाम ऐसे अक्षर से शुरू होता है जो शुरू में नहीं आ सकता, जैसे अंक, उसके आगे एक अंडरस्कोर लगता है: "1st place" बनता है <_1st_place>। कोलन तभी रहता है जब उसका प्रीफ़िक्स ऊपर कहीं घोषित हो, जैसे "@xmlns:soap" में; बिना घोषणा वाला "soap:Body" बनता है <soap_Body>, क्योंकि वरना नेमस्पेस समझने वाला कोई भी पार्सर उसे नहीं पढ़ता। किसी भी लिपि के अक्षर चलते हैं, इसलिए "اسم" या "名前" जैसी key जैसी लिखी है वैसी रहती है।

मान कैसे दिखते हैं

हर मान टेक्स्ट के रूप में लिखा जाता है, और संख्याएँ ठीक वैसी जैसी JSON में हैं: 1.0 वैसा ही 1.0 रहता है और 12345678901234567890 अपना हर अंक रखता है। null और ख़ाली ऑब्जेक्ट दोनों <note/> जैसा ख़ाली एलिमेंट बनते हैं, और ख़ाली लिस्ट कुछ भी नहीं लिखती, इसलिए XML इन तीनों में फ़र्क़ नहीं कर सकता।

कंट्रोल अक्षर — टैब, लाइन फ़ीड और कैरिज रिटर्न को छोड़कर 32 से नीचे के कोड — XML 1.0 में बिल्कुल नहीं लिखे जा सकते, &#1; जैसी संख्या के रूप में भी नहीं, इसलिए वे हटा दिए जाते हैं। कैरिज रिटर्न &#13; के रूप में लिखा जाता है ताकि पार्सर उसे बनाए रखे। एट्रिब्यूट के मानों में उद्धरण चिह्न, टैब और लाइन ब्रेक भी रेफ़रेंस के रूप में लिखे जाते हैं, क्योंकि वरना पार्सर उन्हें स्पेस बना देता।

लिस्टों की लिस्ट अपना समूह खो देती है

दोहराए गए एलिमेंट लिस्ट का सिर्फ़ एक स्तर दिखा सकते हैं। "m": [[1, 2], [3]] तीन <m> एलिमेंट बनता है जिनमें 1, 2 और 3 हैं, और यह बात खो जाती है कि 1 और 2 साथ थे। सबसे ऊपर की लिस्ट के साथ भी यही होता है: [1, [3, 4]] से तीन <item> एलिमेंट बनते हैं। अगर समूह मायने रखता है, तो हर भीतरी लिस्ट को पहले एक ऑब्जेक्ट में लपेटिए: [{"values": [1, 2]}, {"values": [3]}] से दो <item> एलिमेंट बनते हैं, हर एक में अपना <values>।

XML से JSON और वापस

जो दस्तावेज़ /xml-to-json से होकर आया है, वह उन्हीं एलिमेंट, एट्रिब्यूट, नेमस्पेस प्रीफ़िक्स और टेक्स्ट के साथ लौटता है, बिना किसी अतिरिक्त आवरण के। जो JSON में कभी था ही नहीं, वह नहीं लौटता: कमेंट और DOCTYPE, चाइल्ड एलिमेंट के बीच टेक्स्ट की जगह, और अलग-अलग नाम वाले एलिमेंट का आपसी क्रम — ऐसे एलिमेंट नाम के हिसाब से समूहों में लौटते हैं। अगर /xml-to-json में टाइप पहचान चालू थी, तो TRUE जैसा मान true बनकर लौटता है; हूबहू वापसी के लिए वहाँ पहचान बंद कर दीजिए।

अक्सर पूछे जाने वाले प्रश्न

क्या मेरी फ़ाइल किसी सर्वर पर अपलोड होती है?
नहीं। पूरा काम आपके ब्राउज़र में, आपके अपने डिवाइस की क्षमता से होता है। फ़ाइल आपके कंप्यूटर या फ़ोन से बाहर नहीं जाती, और कोई भी टूल एक बार इस्तेमाल हो जाने के बाद इंटरनेट बंद होने पर भी काम करता रहता है।
लिस्ट कैसे दिखाई जाती हैं?
दोहराए गए एलिमेंट के रूप में। {"items": [1, 2]} से <items>1</items><items>2</items> बनता है। दस्तावेज़ के सबसे ऊपर की लिस्ट <root> के भीतर <item> एलिमेंट बनती है। खाली लिस्ट से कोई एलिमेंट नहीं बनता।
स्पेस या अंक वाली key का क्या?
XML एलिमेंट का नाम अंक से शुरू नहीं हो सकता और न उसमें स्पेस हो सकता है। ऐसी key साफ़ कर दी जाती हैं: "1st place" बनता है _1st_place, "unit price" बनता है unit_price। बाकी सब जस का तस रहता है।
क्या चाइल्ड एलिमेंट की जगह एट्रिब्यूट मिल सकते हैं?
हाँ: key के आगे @ लगाइए। {"item": {"@id": 3, "name": "A"}} से <item id="3"><name>A</name></item> बनता है। यही ढाँचा "XML को JSON में बदलें" टूल लिखता है, इसलिए आने-जाने पर वही दस्तावेज़ वापस मिलता है।

संबंधित उपकरण

स्प्रेडशीट और डेटा में और

यह पेज अन्य भाषाओं में: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা