मुफ़्त ऑनलाइन YAML फ़ॉर्मेटर और वैलिडेटर
अपने ब्राउज़र में YAML को फ़ॉर्मेट, वैलिडेट और ब्यूटीफ़ाई करें, और YAML व JSON के बीच कन्वर्ट करें। Docker Compose, Kubernetes और GitHub Actions कॉन्फ़िग के साथ काम करता है। कुछ भी कभी सर्वर पर नहीं भेजा जाता।
YAML क्या है?
YAML (YAML Ain't Markup Language) एक मानव-पठनीय डेटा सीरियलाइज़ेशन फ़ॉर्मेट है जिसे लिखने और पढ़ने में आसान बनाया गया है। इसका साफ़-सुथरा, इंडेंटेशन-आधारित सिंटैक्स कई आधुनिक कॉन्फ़िगरेशन फ़ाइलों में XML की जगह ले चुका है, और Docker Compose, Kubernetes, GitHub Actions, Ansible, और Helm जैसे टूल्स को पावर करता है। YAML, JSON का एक सुपरसेट भी है, इसलिए हर वैध JSON डॉक्यूमेंट वैध YAML भी होता है — जिससे दोनों फ़ॉर्मेट के बीच कन्वर्जन ज़्यादातर रोज़मर्रा के कॉन्फ़िगरेशन डेटा के लिए सीधा और लॉसलेस हो जाता है।
YAML सिंटैक्स गाइड
| key: value | स्केलर्स — एक साधारण की/वैल्यू पेयर। मल्टीलाइन स्ट्रिंग्स के लिए | (लिटरल, न्यूलाइन बनाए रखता है) या > (फ़ोल्डेड, लाइनों को जोड़ता है) का उपयोग होता है। |
| - item | लिस्ट्स — हर आइटम अपनी लाइन पर, डैश और स्पेस के साथ शुरू होता है। |
| parent: child: x | नेस्टेड डिक्शनरी — पदानुक्रम को केवल इंडेंटेशन के ज़रिए व्यक्त करती हैं। |
| # comment | कमेंट्स — # के बाद आने वाली हर चीज़ को पार्सर द्वारा नज़रअंदाज़ किया जाता है। |
| null / true / false | विशेष वैल्यू — null, true, और false को टाइप्ड वैल्यू के रूप में पहचाना जाता है, स्ट्रिंग के रूप में नहीं। |
| &anchor / *alias | एंकर और अलियास — एक नोड को &anchor के साथ एक बार परिभाषित करें और *alias के साथ दोबारा उपयोग करें। |
YAML बनाम JSON: कब किसका उपयोग करें
YAML
हाथ से लिखी और एडिट की जाने वाली कॉन्फ़िगरेशन फ़ाइलों के लिए YAML का उपयोग करें। यह कमेंट्स को सपोर्ट करता है, ज़्यादा पठनीय है, और Docker Compose, Kubernetes, GitHub Actions, Ansible, और Helm के लिए स्टैंडर्ड है।
JSON
APIs और ट्रांज़िट में डेटा के लिए JSON का उपयोग करें। यह तेज़ी से पार्स होता है, इसमें कोई टाइप अस्पष्टता नहीं होती, और यह REST APIs, package.json, और tsconfig.json के पीछे का फ़ॉर्मेट है।
सामान्य YAML त्रुटियाँ और उन्हें कैसे ठीक करें
- इंडेंटेशन के लिए स्पेस की जगह टैब का उपयोग करना — हर टैब को स्पेस से बदलें, क्योंकि YAML टैब को मना करता है।
- असंगत इंडेंटेशन — पूरे डॉक्यूमेंट में हर नेस्टिंग लेवल पर स्पेस की समान संख्या बनाए रखें।
- बिना कोट किया गया कोलन वाला स्ट्रिंग — "12:30" या "http://example.com" जैसी वैल्यू को कोट्स में लपेटें।
- अस्पष्ट बूलियन — yes, no, on, और off जैसी वैल्यू को true/false के रूप में पार्स किया जाता है; अगर आपका मतलब लिटरल शब्दों से है तो उन्हें कोट करें।
- बिना कोट किए वैल्यू में विशेष कैरेक्टर — @, #, और { जैसे कैरेक्टर के लिए वैल्यू को कोट्स में लपेटना ज़रूरी है।