24 converter इकाइयाँ · मुद्राएँ · फ़ाइलें

JSON को YAML में बदलना JavaScript Object Notation ↔ YAML Ain't Markup Language मुफ़्त ऑनलाइन सुरक्षित

एक JSON फ़ाइल छोड़िए और YAML ले जाइए। पढ़ना और लिखना यहीं, आपके ब्राउज़र में होता है, सो फ़ाइल आपके उपकरण से बाहर नहीं जाती — और यह यात्रा क्या बचाती है और क्या नहीं, वह नीचे लिखा है, आपके ख़ुद पता लगाने पर नहीं छोड़ा गया।

अपनी फ़ाइल बदलिए

यहाँ एक JSON फ़ाइल छोड़िए, या कोई चुनिए।

आपकी फ़ाइल इस उपकरण से बाहर नहीं जाती। सब कुछ आपके ब्राउज़र में चलता है।

इस बदलने वाले औज़ार के बारे में
क्या बचा रहता है सब कुछ, दोनों दिशाओं में: मानचित्र, सूचियाँ, डोर, अंक, सही-ग़लत और null। दोहराई जाने वाली संरचनाएँ लंगर के बजाय पूरी लिखी जाती हैं, सो फ़ाइल ऊपर से नीचे तक सीधी पढ़ी जाती है।
क्या नहीं कर सकता YAML अर्थ को हाशिये में रखता है, सो गहराई में धँसा मान गहरे हाशिये वाली फ़ाइल देता है — पढ़ी जाती है, पर छोटी नहीं। लंबे डोर लगभग सौ स्तंभ पर तोड़े जाते हैं, जिससे पंक्ति के अंत की जगह बदलती है, मान नहीं। कुंजियाँ वही क्रम रखती हैं जो JSON में था।
कहाँ चलता है आपके ब्राउज़र में। कुछ भी अपलोड नहीं होता, इसलिए बाद में मिटाने को भी कुछ नहीं बचता।

कुछ भी अपलोड नहीं

JSON से रूपांतरण

JSON में रूपांतरण

ये प्रारूप कहाँ से आए

CSV सबसे पुराना और सबसे कम मानकीकृत है: एक सारणी जो पाठ की पंक्तियों के रूप में लिखी जाती है, 1970 के दशक से प्रयोग में और लिखित रूप में वर्णित हुआ केवल 2005 में, जब तक हर प्रोग्राम स्वयं तय कर चुका था कि विभाजक क्या है और उद्धरण-चिह्न कब लगाने हैं। XML 1998 में SGML से उपजा, उन दस्तावेज़ों के लिए जिन्हें कठोर संरचना ढोनी हो और किसी ढाँचे के विरुद्ध जाँचा जाना हो। JSON को डगलस क्रॉकफ़ोर्ड ने 2001 के आसपास जावास्क्रिप्ट से निकाला, जानबूझकर उसे वस्तुओं, सूचियों, संख्याओं और शब्द-लड़ियों तक घटा दिया — और वही न्यूनतावाद उसके वेब पर छा जाने का कारण है। YAML उसका पठनीय चचेरा भाई है, जहाँ अंतराल वह काम करता है जो अन्यत्र कोष्ठक करते हैं। इनके बीच रूपांतरण में केवल एक बात मायने रखती है: CSV चपटा है, पंक्तियों और स्तंभों की जाली; जबकि JSON, XML और YAML वृक्ष हैं।

ये आपको कहाँ मिलते हैं

CSV वह है जो स्प्रेडशीट निर्यात करती है और जो कोई लेखाकार, कोई दुकान का मंच या बैंक का विवरण आपको थमाता है। JSON वह है जो वेब की सेवाएँ आपस में बोलती हैं और जिसमें विन्यास-फ़ाइलें बढ़ते क्रम में लिखी जाती हैं। XML पुराने संस्थागत तंत्रों में, बीजक के मानकों में, और स्वयं कार्यालयी प्रारूपों के भीतर जीवित है। YAML वह जगह है जहाँ मनुष्य हाथ से सेटिंग लिखते हैं। इनके बीच रूपांतरण वह दैनिक काम है जो आँकड़ों को उनके उद्गम से वहाँ ले जाता है जहाँ उनकी आवश्यकता है।

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

मेरी CSV एक्सेल में एक ही स्तंभ के रूप में खुली। क्यों?

क्योंकि आपकी स्प्रेडशीट किसी और विभाजक की प्रतीक्षा में थी। एक्सेल कंप्यूटर की क्षेत्रीय सेटिंग के सूची-विभाजक का अनुसरण करता है, और वह हर उस जगह अर्धविराम है जहाँ अल्पविराम पहले से दशमलव चिह्न है — अर्थात महाद्वीपीय यूरोप के बड़े भाग में। तब अल्पविराम से विभाजित फ़ाइल पाठ के एक स्तंभ जैसी दिखती है। फ़ाइल पर दो बार क्लिक करने के बजाय आयात-खिड़की का उपयोग करें और विभाजक स्पष्ट बताएँ। इसी क्षेत्रीय सेटिंग से यह भी होता है कि 3.5 कभी तिथि बनकर आ जाता है।

मेरा नेस्ट किया JSON साफ़-सुथरी स्प्रेडशीट क्यों नहीं बनता?

क्योंकि स्प्रेडशीट चपटी है और JSON एक वृक्ष। एक पंक्ति हर स्तंभ के लिए एक मान रखती है; जबकि JSON की एक वस्तु किसी क्षेत्र के भीतर की सूची के भीतर एक और सूची रख सकती है। रूपांतरण का अर्थ है यह चुनना कि उसे कैसे चपटा किया जाए: या तो नेस्ट किए नामों को जोड़कर एक लंबा स्तंभ-शीर्षक बना दें, या जनक पंक्ति को हर संतान के लिए एक बार दोहरा दें। दोनों समझौते हैं, और कोई भी स्वतः पूर्ववत नहीं हो सकता — इसीलिए स्प्रेडशीट से मूल आकृति की ओर लौटने के लिए प्रायः मानवीय निर्णय चाहिए।

क्या फ़ाइल की गुणवत्ता घटती है?

यह इस पर निर्भर है कि दोनों प्रारूप क्या-क्या सँभाल सकते हैं। ऐसे प्रारूपों के बीच रूपांतरण जो एक ही वस्तु रखते हैं — PNG से BMP, WAV से FLAC — कुछ नहीं खोता। ऐसे प्रारूप में बदलना जो स्थान बचाने के लिए सूचना फेंक देता है, जैसे JPEG या MP3, हर बार थोड़ा खोता है, और वापस बदलने से वह लौटता नहीं। जहाँ विकल्प हो, यह पृष्ठ सबसे छोटी फ़ाइल बनाने के बजाय मूल गुणवत्ता बनाए रखने की ओर झुकता है।

क्या मेरी फ़ाइल कहीं अपलोड होती है?

नहीं। रूपांतरण आपके ही यंत्र पर, आपके ब्राउज़र के भीतर होता है; फ़ाइल उसे कभी नहीं छोड़ती, और यहाँ कोई सर्वर है ही नहीं जो उसे ले सके। इसीलिए बड़ी फ़ाइल को अपलोड नहीं बल्कि आपकी अपनी स्मृति सीमित करती है, और इसीलिए आपका बदला हुआ कुछ भी किसी के अभिलेख में नहीं आ सकता — हमारे अभिलेख में भी नहीं। हाँ, ध्वनि और चलचित्र के उपकरण पहली बार प्रयोग पर अपना रूपांतरण-इंजन इसी स्थल से लाते हैं — लगभग तीस मेगाबाइट, एक ही बार; उसके बाद भी काम पूरा आपके ही यंत्र पर होता है।

लोग JSON को YAML में क्यों बदलते हैं

JSON वह संकेतन है जिसे प्रोग्राम पसंद करते हैं: सख़्त, संक्षिप्त और हर भाषा द्वारा समझा जाने वाला। पर वह इंसानों के प्रति दयालु नहीं। लंबी JSON फ़ाइल कोष्ठकों, उद्धरण-चिह्नों और अल्पविरामों का झुरमुट है, जिसमें टिप्पणी की जगह नहीं और अंत का एक अल्पविराम सब कुछ तोड़ सकता है। YAML वह संकेतन है जिसे लोग तब चुनते हैं जब उन्हें डेटा हाथ से पढ़ना और संपादित करना हो। वह कोष्ठकों की जगह इंडेंटेशन उपयोग करता है, टिप्पणियाँ अनुमत करता है और लगभग रूपरेखा की तरह पढ़ा जाता है, इसीलिए वह कॉन्फ़िगरेशन का पसंदीदा बना: बिल्ड पाइपलाइन, कंटेनर परिभाषाएँ, तैनाती फ़ाइलें, स्थैतिक साइटों और दस्तावेज़ीकरण उपकरणों की सेटिंग। जब डेटा JSON के रूप में आए और आप उसके साथ पढ़ने में सुखद रूप में काम करना चाहें, तो रूपांतरण चाहिए। इसीलिए लोग JSON को YAML में बदलते हैं।

स्थितियाँ रोज़मर्रा की हैं। एक डेवलपर जिसके पास उपकरण का आउटपुट JSON में है और जो उसे कॉन्फ़िगरेशन फ़ाइल बनाना चाहता है। एक टीम जो सेटिंग एक प्रणाली से दूसरी में ले जा रही है और पठनीय प्रारूप पसंद करती है। एक लेखक जो API के उत्तर की संरचना बिना अव्यवस्था के पढ़ना चाहता है। एक विद्यार्थी जो देखना चाहता है कि कोष्ठक इंडेंटेशन से कैसे मेल खाते हैं। हर मामले में डेटा वही है, और केवल संकेतन बदलता है।

यह पृष्ठ आपके ब्राउज़र में JSON को YAML में बदलता है। आपकी फ़ाइल यहीं पढ़ी और लिखी जाती है, इसलिए वह कभी आपके उपकरण से बाहर नहीं जाती, जो कॉन्फ़िगरेशन फ़ाइलों के लिए मायने रखता है, जिनमें अक्सर पते, आंतरिक प्रणालियों के नाम और कभी-कभी गुप्त बातें होती हैं। और पृष्ठ आपको पहले से बताता है कि इस पार जाने में क्या बना रहता है और क्या नहीं, बजाय इसके कि आप ख़ुद खोजें। नीचे आप पाएँगे कि रूपांतरण कैसे काम करता है, गहरे नेस्टिंग और लंबी स्ट्रिंगों का क्या होता है और साफ़-सुथरा परिणाम कैसे पाएँ।

रूपांतरण कैसे काम करता है

दोनों संकेतनों में वही आकृतियाँ

आपका JSON आपके ब्राउज़र के भीतर पढ़ा जाता है, और उसकी संरचना YAML के रूप में लिखी जाती है। दोनों में वही आकृतियाँ हैं, और दोनों दिशाओं में सब कुछ बना रहता है: मानचित्र, सूचियाँ, स्ट्रिंग, संख्याएँ, बूलियन और null। JSON की वस्तु YAML में मैपिंग बनती है, सारणी अनुक्रम बनती है, और अदिश मान अपने प्रकार रखते हैं। संख्या 8080 के साथ कुंजी port से port: 8080 मिलता है, और true के साथ कुंजी enabled से enabled: true।

दोहराई संरचनाएँ पूरी लिखी जाती हैं

YAML में दोहराव से बचने का तरीक़ा है, एंकर और उपनाम के साथ। परिवर्तक उसे उपयोग नहीं करता। दोहराई संरचनाएँ एंकर के रूप में नहीं, पूरी लिखी जाती हैं, इसलिए फ़ाइल सीधे नीचे तक पढ़ी जाती है। इससे YAML थोड़ा लंबा होता है, पर उसमें कुछ भी कहीं और खोजने की ज़रूरत नहीं, और कोई भी पाठक हर खंड को अपने आप में समझ सकता है।

कुंजियाँ अपना क्रम रखती हैं

कुंजियाँ वही क्रम रखती हैं जो JSON में था। YAML स्रोत के उसी अनुक्रम में पढ़ा जाता है, इसलिए JSON जानने वाला तुरंत अपना रास्ता पा लेता है।

क्या बना रहता है

जो कुछ भी डेटा है

दोनों दिशाओं में सब कुछ बना रहता है: मानचित्र, सूचियाँ, स्ट्रिंग, संख्याएँ, बूलियन और null। अगर वह आपके JSON में मान था, तो वह YAML में मान है, उसी प्रकार के साथ।

वे स्ट्रिंग जिन्हें सुरक्षा चाहिए

कुछ स्ट्रिंग अगर YAML में नंगी लिखी जाएँ तो ग़लत पढ़ी जाएँगी: शब्द true, उद्धरण में संख्या, कोलन वाला पाठ। परिवर्तक ऐसी स्ट्रिंगों को उद्धृत करता है ताकि वे स्ट्रिंग के रूप में लौटें और बूलियन या संख्या न बन जाएँ। JSON की स्ट्रिंग जो “true” कहती है, YAML में स्ट्रिंग ही रहती है।

यूनिकोड

उच्चारण-चिह्न वाले अक्षर, प्रतीक और अन्य वर्णमालाओं के वर्ण जैसे हैं वैसे रखे जाते हैं, इसलिए कई भाषाओं की फ़ाइल पठनीय रहती है।

JSON को YAML में बदलने से पहले आपको क्या जानना चाहिए

गहरा नेस्टिंग यानी गहरा इंडेंटेशन

YAML अर्थ को इंडेंटेशन में रखता है, इसलिए जो मान गहराई में नेस्टेड हो जाए वह गहरी इंडेंट वाली फ़ाइल बन जाता है: पठनीय, पर छोटी नहीं। आठ स्तरों का JSON वृक्ष ऐसी पंक्तियाँ देता है जो बाएँ हाशिये से बहुत दूर शुरू होती हैं। अगर यह भारी पड़ने लगे, तो संरचना को उसके स्रोत पर समतल करने पर विचार कीजिए।

लंबी स्ट्रिंग लपेटी जाती हैं

लंबी स्ट्रिंग लगभग सौ स्तंभों पर लपेटी जाती हैं, जिससे पंक्ति-विराम कहाँ गिरते हैं यह बदलता है, मान नहीं। JSON में एक लंबी पंक्ति रहा अनुच्छेद YAML में कई पंक्तियों में दिखता है, पर पाठ वही है। YAML पढ़ने वाला प्रोग्राम मूल स्ट्रिंग पाता है।

टिप्पणियाँ गढ़ी नहीं जा सकतीं

YAML टिप्पणियों की अनुमति देता है, पर JSON में कोई नहीं होती, इसलिए परिणाम में भी नहीं। आप बाद में हाथ से स्पष्टीकरण जोड़ सकते हैं, जो फ़ाइल को पहले-पहल YAML में चाहने के मुख्य कारणों में से एक है।

यहाँ JSON को YAML में कैसे बदलें

अपनी फ़ाइल जोड़िए

JSON फ़ाइल को पृष्ठ पर छोड़िए या अपने उपकरण से चुनिए। वह आपके ब्राउज़र के भीतर पढ़ी जाती है और अपलोड नहीं होती।

रूपांतरित कीजिए

बटन दबाइए। सामान्य आकार की फ़ाइल में एक क्षण लगता है। पूरा होने तक पृष्ठ खुला रखिए।

डाउनलोड करके जाँचिए

YAML डाउनलोड कीजिए और टेक्स्ट एडिटर में खोलिए। शुरुआत और अंत देखिए, और जाँचिए कि संरचना और प्रकार वैसे हैं जैसी आपको अपेक्षा थी।

JSON और YAML पर नज़दीकी नज़र

एक ही डेटा के दो संकेतन

JSON को प्रोग्रामों के पढ़ने-लिखने के लिए आसान बनाया गया। YAML को लोगों के लिए आसान बनाया गया। वे इतना मिलते हैं कि JSON लगभग YAML का उपसमुच्चय है, और YAML पाठक आम तौर पर JSON पढ़ सकता है। इसलिए JSON को YAML में बदलना डेटा बदलना नहीं, उसे नए कपड़े पहनाना है, ऐसे रूप में जिसमें टिप्पणियों की जगह है और विराम-चिह्नों की अव्यवस्था नहीं।

इंडेंटेशन में सावधानी क्यों चाहिए

क्योंकि YAML इंडेंटेशन पर निर्भर है, ग़लत संरेखित पंक्ति अर्थ बदल देती है। परिवर्तक इंडेंटेशन संगत ढंग से लिखता है, रिक्त-स्थानों से और हर स्तर पर समान चौड़ाई के साथ, इसलिए फ़ाइल बनते ही सही होती है। जब आप बाद में संपादित करें, तो वही चौड़ाई रखिए, और टैब से बचिए, जिन्हें YAML इंडेंटेशन के लिए अनुमत नहीं करता।

पठनीय, पर हमेशा छोटा नहीं

YAML को अक्सर JSON से अधिक संक्षिप्त बताया जाता है, क्योंकि वह कोष्ठक और कुंजियों के आसपास के उद्धरण-चिह्न छोड़ देता है। समतल डेटा के लिए यह सच है। गहरे नेस्टेड डेटा के लिए इंडेंटेशन उसे वर्णों में लंबा बना सकता है। लाभ पठनीयता में है, आकार में नहीं।

आम स्थितियाँ विस्तार से

उपकरण के आउटपुट को कॉन्फ़िगरेशन बनाना

उपकरण अक्सर अपनी सेटिंग या परिणाम JSON के रूप में छापते हैं। JSON को YAML में बदलिए, टिप्पणियाँ जोड़िए और उसे उस कॉन्फ़िगरेशन फ़ाइल के रूप में रखिए जिसे लोग सँभालते हैं।

प्रणालियों के बीच सेटिंग ले जाना

JSON उपयोग करने वाली प्रणाली से YAML उपयोग करने वाली प्रणाली में कॉन्फ़िगरेशन ले जाना एक रूपांतरण की बात है, जिसके बाद जाँच कि लक्ष्य कुंजियाँ स्वीकार करता है।

API का उत्तर पढ़ना

API का उत्तर सैकड़ों पंक्तियों के कोष्ठकों तक जा सकता है। YAML में वही डेटा रूपरेखा की तरह पढ़ा जाता है, और आप संरचना एक नज़र में देख सकते हैं।

शिक्षण और दस्तावेज़ीकरण

वही डेटा दोनों संकेतनों में दिखाना यह सिखाने का अच्छा तरीक़ा है कि संरचित डेटा कैसे काम करता है। YAML उदाहरण उपयोग करने वाले दस्तावेज़ अक्सर पढ़ने में आसान होते हैं।

JSON को YAML में बदलने से पहले व्यावहारिक सलाह

जाँचिए कि JSON वैध है

कोई फालतू अल्पविराम या छूटा उद्धरण-चिह्न रूपांतरण रोक देगा। अगर पृष्ठ त्रुटि बताए, तो फ़ाइल को ऐसे एडिटर में खोलिए जो JSON समस्याएँ उभारता हो और उस पंक्ति को ठीक कीजिए जिसकी ओर वह इशारा करे।

जहाँ हो सके समतल कीजिए

अगर संरचना ज़रूरत से गहरी है, तो पहले उसे सरल कीजिए। समतल संरचना ऐसा YAML देती है जो पढ़ने और संपादित करने में आसान है।

उपभोक्ता के बारे में सोचिए

देखिए कि YAML कौन पढ़ेगा। कुछ उपकरण विशेष कुंजी-नाम और प्रकार की अपेक्षा करते हैं, और बाद में YAML संपादित करने से पहले JSON को समायोजित करना आसान है।

बड़ी फ़ाइलें

सब कुछ आपके उपकरण पर चलता है, इसलिए बहुत बड़ी फ़ाइल को मेमोरी चाहिए। कई मेगाबाइट की फ़ाइलों के लिए कंप्यूटर उपयोग कीजिए, और पृष्ठ को कठिनाई हो तो डेटा बाँट दीजिए।

रूपांतरण से पहले लोग जो प्रश्न पूछते हैं

क्या मेरा डेटा बदलेगा?

नहीं। दोनों दिशाओं में सब कुछ बना रहता है: मानचित्र, सूचियाँ, स्ट्रिंग, संख्याएँ, बूलियन और null।

मेरी लंबी स्ट्रिंग कई पंक्तियों में क्यों बँटी हैं?

लंबी स्ट्रिंग लगभग सौ स्तंभों पर लपेटी जाती हैं। इससे पंक्ति-विराम कहाँ गिरते हैं यह बदलता है, मान नहीं।

मेरी फ़ाइल इतनी इंडेंट क्यों है?

क्योंकि डेटा गहराई से नेस्टेड है, और YAML नेस्टिंग को इंडेंटेशन से व्यक्त करता है।

एंकर कहाँ हैं?

दोहराई संरचनाएँ एंकर के रूप में नहीं, पूरी लिखी जाती हैं, इसलिए फ़ाइल सीधे नीचे तक पढ़ी जाती है।

क्या मेरी फ़ाइल अपलोड होती है?

नहीं। रूपांतरण आपके ब्राउज़र में चलता है और फ़ाइल कभी आपके उपकरण से बाहर नहीं जाती।

क्या मैं JSON पर वापस जा सकता हूँ?

हाँ। YAML से JSON फ़ाइल को वापस पढ़ता है, हालाँकि आपकी जोड़ी कोई भी टिप्पणी बची नहीं रहेगी।

JSON को YAML में बदलते समय समझदारी से चुनना

क्या YAML सचमुच चाहिए?

अगर पाने वाला उपकरण JSON पढ़ता है, तो JSON रखिए। तब रूपांतरित कीजिए जब लोगों को फ़ाइल पढ़नी और संपादित करनी हो, या जब उपकरण को YAML चाहिए।

अन्य लक्ष्य

अगर गंतव्य मार्कअप फ़ाइल है, तो JSON से XML आगे आ सकता है। तालिकाओं के लिए JSON से CSV और JSON से XLSX स्प्रेडशीटों की सेवा करते हैं।

JSON रखिए

अगर JSON प्रोग्राम से आता है तो वही मूल प्रति है। उसे रखिए, और जब वह बदले तो YAML फिर बनाइए।

रूपांतरण के बाद अच्छा परिणाम पाना

टिप्पणियाँ जोड़िए

परिणाम में कोई नहीं है, और यहीं YAML चमकता है। हर खंड के ऊपर छोटा नोट जोड़िए जो बताए कि वह क्या करता है और कौन-से मान अनुमत हैं।

प्रकार जाँचिए

संस्करणों, कोडों और झंडों जैसे मान देखिए। सुनिश्चित कीजिए कि जहाँ आपका अर्थ स्ट्रिंग था वहाँ स्ट्रिंग हैं और जहाँ संख्याएँ वहाँ संख्याएँ।

इंडेंटेशन संगत रखिए

संपादन करते समय रिक्त-स्थान उपयोग कीजिए और हर स्तर पर समान चौड़ाई रखिए। ऐसा एडिटर जो रिक्त-स्थान दिखाता और YAML जाँचता है आपको त्रुटियों से बचाएगा।

अपना JSON ऐसे तैयार करना कि वह अच्छी तरह रूपांतरित हो

उसे नियमित रखिए

जब आप JSON को YAML में बदलते हैं, तो नियमित डेटा सबसे अच्छा रूपांतरित होता है: संगत कुंजियाँ और स्पष्ट प्रकार। अनियमित डेटा सही पर बेतरतीब परिणाम देता है।

कुंजियों को स्पष्ट नाम दीजिए

लोग YAML पढ़ेंगे, इसलिए ऐसी कुंजियाँ चुनिए जो अपना अर्थ बताएँ। कॉन्फ़िगरेशन तब सँभालना आसान होता है जब उसके नाम सादे हों।

पहले छोटे टुकड़े से परखिए

अगर आपकी फ़ाइल बड़ी है, तो एक खंड परीक्षण फ़ाइल में लेकर उसे रूपांतरित कीजिए। परिणाम पर एक त्वरित नज़र बताती है कि संरचना वैसी है जैसी आपको अपेक्षा थी।

JSON को YAML में बदलने के बाद YAML के साथ काम करना

वे नोट जोड़िए जो JSON नहीं रख सकता था

ताज़ा रूपांतरित फ़ाइल के साथ पहला काम उसे ऊपर से पढ़ना और जहाँ अजनबी उलझेगा वहाँ टिप्पणियाँ जोड़ना है। किसी खंड के ऊपर छोटी पंक्ति जो बताए कि वह क्या नियंत्रित करता है, कहीं और रखे दस्तावेज़ीकरण के पूरे पृष्ठ से अधिक मूल्यवान है, क्योंकि वह उस चीज़ के बग़ल में बैठी है जिसका वर्णन करती है। जब आप JSON को YAML में बदलते हैं तो यही आपका मुख्य लाभ है।

संबंधित सेटिंग को समूहित कीजिए

कुंजियाँ वह क्रम रखती हैं जो JSON में था, जो शायद वही क्रम हो जिसमें प्रोग्राम ने उन्हें उत्सर्जित किया। YAML में आप उन्हें इस तरह पुनर्व्यवस्थित करने को स्वतंत्र हैं कि संबंधित सेटिंग साथ बैठें, समूहों के बीच ख़ाली पंक्ति के साथ। चूँकि मैपिंग में कुंजियों का क्रम अधिकतर पाठकों के लिए कोई अर्थ नहीं रखता, यह सुरक्षित है, पर जाँच लीजिए कि आप जो उपकरण उपयोग करते हैं वह इसकी परवाह तो नहीं करता।

जाँचिए कि पाने वाला उपकरण क्या अपेक्षा करता है

वैध YAML फ़ाइल आवश्यक रूप से वैध कॉन्फ़िगरेशन नहीं होती। उपकरण विशेष कुंजियों और प्रकारों की अपेक्षा करते हैं, और कुछ अज्ञात कुंजियों पर सख़्त हैं। रूपांतरण के बाद फ़ाइल की उपकरण के दस्तावेज़ीकरण से तुलना कीजिए, और अगर उसका अपना जाँचकर्ता हो तो उसे चलाइए।

संस्करण नियंत्रण उपयोग कीजिए

YAML में कॉन्फ़िगरेशन की पंक्ति-दर-पंक्ति तुलना आसान है, जो उसे संस्करण नियंत्रण के लिए उपयुक्त बनाती है। रूपांतरित फ़ाइल को कमिट कीजिए और सहकर्मियों को हर बदलाव स्पष्ट अंतर के रूप में देखने दीजिए, जो संपीड़ित JSON की एक पंक्ति के साथ कहीं अधिक कठिन था।

गुप्त बातों का ध्यान रखिए

उपकरणों से निर्यात किए JSON में कभी-कभी टोकन और पासवर्ड होते हैं। चूँकि रूपांतरण आपके ब्राउज़र में होता है, कुछ आपके उपकरण से बाहर नहीं जाता, पर YAML फ़ाइल में वही गुप्त बातें होंगी। फ़ाइल कमिट या साझा करने से पहले उन्हें हटाइए, या अधिक सुरक्षित जगह ले जाइए।

संपादन करते समय इंडेंटेशन पर नज़र रखिए

जब आप हाथ से संपादन शुरू करते हैं, तो मुख्य जोखिम वह पंक्ति है जो एक रिक्त-स्थान ग़लत जगह हो। ऐसा एडिटर उपयोग कीजिए जो रिक्त-स्थान दिखाता और टाइप करते समय YAML जाँचता हो, और हर स्तर पर वही चौड़ाई रखिए, जैसा परिवर्तक ने किया।

स्रोत बदलने पर फिर रूपांतरित कीजिए

अगर JSON प्रोग्राम से बनता है और समय-समय पर बदलता है, तो हर नए संस्करण के लिए JSON को YAML में फिर बदलिए, और पुरानी फ़ाइल की अपनी टिप्पणियाँ नई में मिला दीजिए। तुलना उपकरण इसे मिनटों की बात बना देता है।

गोपनीयता और संचालन

कॉन्फ़िगरेशन के लिए स्थानीय रूपांतरण क्यों मायने रखता है

कॉन्फ़िगरेशन फ़ाइलों में अक्सर पते, आंतरिक प्रणालियों के नाम और कभी-कभी कुंजियाँ और पासवर्ड होते हैं। कई ऑनलाइन परिवर्तक आपकी फ़ाइल सर्वर पर अपलोड करते हैं, उसे प्रोसेस करते हैं और परिणाम लौटाते हैं, और कुछ समय के लिए एक प्रति ऐसी मशीन पर रहती है जिसे आप नियंत्रित नहीं करते। यहाँ आपका अपना ब्राउज़र काम करता है, इसलिए फ़ाइल आपके उपकरण पर रहती है।

जब आप जाते हैं तब क्या होता है

जब आप पृष्ठ बंद करते हैं, तो रूपांतरित फ़ाइल ब्राउज़र से ग़ायब हो जाती है, इसलिए पहले उसे डाउनलोड कीजिए। आपकी फ़ाइल के बारे में कुछ भी नहीं रखा जाता।

अगर कुछ ग़लत हो जाए

पृष्ठ कहता है कि फ़ाइल वैध JSON नहीं है

कोई फालतू अल्पविराम, छूटा उद्धरण-चिह्न या न बंद होने वाला कोष्ठक हो सकता है। फ़ाइल को ऐसे एडिटर में खोलिए जो JSON त्रुटियाँ उभारता हो और उस पंक्ति को ठीक कीजिए जिसकी ओर वह इशारा करे।

उपकरण YAML अस्वीकार करता है

वह जिन कुंजी-नामों और प्रकारों की अपेक्षा करता है उन्हें जाँचिए। YAML वैध है, पर उपकरण को भिन्न नाम या भिन्न संरचना चाहिए हो सकती है।

बड़ी फ़ाइल के साथ पृष्ठ अटक जाता है

सब कुछ आपके उपकरण पर चलता है, और बड़ी फ़ाइल को मेमोरी चाहिए। कंप्यूटर पर फिर कोशिश कीजिए, या डेटा बाँट दीजिए।

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

उपकरणों का वही परिवार पड़ोसी कामों को ढकता है। वापस जाने के लिए YAML से JSON उपयोग कीजिए। मार्कअप के लिए JSON से XML और XML से JSON उन दोनों के बीच रूपांतरण करते हैं। तालिकाओं के लिए JSON से CSV, CSV से JSON, JSON से XLSX और XLSX से JSON हैं।

एक काम किया हुआ उदाहरण

मान लीजिए कोई उपकरण अपनी सेटिंग 150 पंक्तियों की JSON फ़ाइल के रूप में छापता है, और आप उन्हें अपने रिपॉज़िटरी में ऐसे कॉन्फ़िगरेशन के रूप में रखना चाहते हैं जिसे सहकर्मी पढ़ और जिस पर टिप्पणी कर सकें। आप फ़ाइल यहाँ छोड़ते हैं और बटन दबाते हैं। एक क्षण बाद आप लगभग 90 पंक्तियों का YAML डाउनलोड करते हैं जिसमें संरचना रूपरेखा की तरह पढ़ी जाती है। आप हर खंड के ऊपर टिप्पणी जोड़ते हैं, कमिट करते हैं और टीम को बताते हैं कि कहाँ संपादित करना है। JSON उपकरण के आउटपुट के रूप में बना रहता है।

एक छोटी जाँच-सूची

रूपांतरण से पहले

जाँचिए कि JSON वैध है। हो सके तो गहरा नेस्टिंग सरल कीजिए। JSON रखिए।

रूपांतरण के दौरान

फ़ाइल तैयार होने तक पृष्ठ पर रहिए।

रूपांतरण के बाद

YAML खोलिए, संरचना और प्रकार जाँचिए, टिप्पणियाँ जोड़िए और उसे उस उपकरण से परखिए जो उसे पढ़ेगा।

आम ग़लतियाँ

छोटी फ़ाइल की अपेक्षा

गहरा नेस्टिंग गहरा इंडेंटेशन बनाता है। YAML अधिक पठनीय है, हमेशा छोटा नहीं।

टैब से संपादन

YAML इंडेंटेशन के लिए टैब की अनुमति नहीं देता। रिक्त-स्थान उपयोग कीजिए।

स्रोत खो देना

अगर JSON प्रोग्राम से आता है, तो उसे रखिए और जब वह बदले तो YAML फिर बनाइए।

आपकी फ़ाइल आपके उपकरण पर रहती है

रूपांतरण स्थानीय रूप से होता है। आपकी फ़ाइल आपके अपने ब्राउज़र द्वारा पढ़ी जाती है, वहीं दोबारा लिखी जाती है और YAML के रूप में लौटाई जाती है। कुछ अपलोड नहीं होता, इसलिए कोई प्रति सर्वर पर नहीं पहुँचती और कोई और उसे पढ़ नहीं सकता। निजी सामग्री वाले कॉन्फ़िगरेशन के लिए JSON को YAML में बदलने का यही सुरक्षित तरीक़ा है।

सारांश

यहाँ JSON को YAML में बदलने के लिए फ़ाइल छोड़िए और बटन दबाइए। वह आपके ब्राउज़र में पढ़ी और लिखी जाती है, इसलिए फ़ाइल कभी आपके उपकरण से बाहर नहीं जाती। दोनों दिशाओं में सब कुछ बना रहता है: मानचित्र, सूचियाँ, स्ट्रिंग, संख्याएँ, बूलियन और null। दोहराई संरचनाएँ एंकर के रूप में नहीं, पूरी लिखी जाती हैं, इसलिए फ़ाइल सीधे नीचे तक पढ़ी जाती है। YAML अर्थ को इंडेंटेशन में रखता है, इसलिए जो मान गहराई में नेस्टेड हो जाए वह गहरी इंडेंट वाली फ़ाइल बन जाता है, पठनीय पर छोटी नहीं। लंबी स्ट्रिंग लगभग सौ स्तंभों पर लपेटी जाती हैं, जिससे पंक्ति-विराम कहाँ गिरते हैं यह बदलता है, मान नहीं। कुंजियाँ वही क्रम रखती हैं जो JSON में था।

लंबाई और क्षेत्रफल द्रव्यमान और आयतन तापमान मुद्राएँ