YAML फ़ॉर्मैटर और वैलिडेटर

YAML को वैलिडेट, beautify या minify करने के लिए पेस्ट करें, या YAML ↔ JSON बदलें। अमान्य इनपुट पर सटीक पार्सर त्रुटि और लाइन दिखती है; बहु-दस्तावेज़ फ़ाइलें (---) समर्थित हैं। सब कुछ आपके ब्राउज़र में चलता है — कुछ भी अपलोड नहीं होता।

इनपुट
आउटपुट

YAML फ़ॉर्मैटर कैसे काम करता है

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

Beautify मान्य YAML को आपके चुने हुए इंडेंट के साथ पढ़ने-योग्य ब्लॉक स्टाइल में दोबारा उत्सर्जित करता है; Minify संक्षिप्त फ़्लो स्टाइल में बदल देता है (ब्रेसेस और ब्रैकेट, JSON की तरह एक ही लाइन में) जो फिर भी मान्य YAML है; YAML → JSON और JSON → YAML दोनों के बीच वैल्यू, टाइप और संरचना को बिल्कुल सुरक्षित रखते हुए बदलते हैं।

Beautify, minify, वैलिडेट, कन्वर्ट

क्रियायह क्या करता है
Beautifyमान्य YAML को आपके चुने हुए 2- या 4-स्पेस इंडेंट के साथ पढ़ने-योग्य ब्लॉक स्टाइल में फिर से इंडेंट और सामान्यीकृत करता है।
Minifyडेटा को संक्षिप्त फ़्लो स्टाइल में समेट देता है (JSON की तरह एक ही लाइन में) — छोटा, फिर भी मान्य YAML।
YAML → JSONYAML को पार्स करके समतुल्य, सुंदर-छपा हुआ JSON देता है। कई दस्तावेज़ एक JSON ऐरे बन जाते हैं।
JSON → YAMLJSON को पार्स करके समतुल्य YAML साफ़ ब्लॉक स्टाइल में देता है।
Validateहर क्रिया पहले वैलिडेट करती है — अमान्य इनपुट पर सटीक पार्सर त्रुटि और लाइन दिखती है, इसलिए यह एक लिंटर की तरह भी काम करता है।

YAML बनाम JSON

YAML और JSON एक ही तरह के डेटा का वर्णन करते हैं — मैपिंग, सीक्वेंस, स्ट्रिंग, नंबर, बूलियन और null। YAML, JSON का एक सुपरसेट है, इसलिए हर JSON फ़ाइल पहले से ही मान्य YAML है; अंतर सतही सिंटैक्स और कुछ सुविधाओं का है:

विशेषताYAMLJSON
टिप्पणियाँहाँ — # से शुरू होने वाली लाइनेंकोई नेटिव कमेंट सिंटैक्स नहीं
सिंटैक्सइंडेंटेशन-आधारित, न्यूनतम विराम-चिह्नब्रेसेस, ब्रैकेट, कोट और कॉमा
स्ट्रिंग पर कोटआमतौर पर वैकल्पिकहमेशा ज़रूरी (डबल कोट)
बहु-दस्तावेज़हाँ — --- से अलग किए जाते हैंप्रति दस्तावेज़ एक वैल्यू
डेटा मॉडलJSON का सुपरसेट (हर JSON फ़ाइल मान्य YAML है)YAML का सख़्त उपसमुच्चय
सामान्य उपयोगकॉन्फ़िग फ़ाइलें (Kubernetes, Docker Compose, CI, Ansible)API, डेटा आदान-प्रदान, स्टोरेज

YAML सिंटैक्स त्वरित संदर्भ

सिंटैक्सअर्थ
key: valueएक मैपिंग (की/वैल्यू जोड़ी)। कोलन के बाद स्पेस ज़रूरी है।
- itemएक सीक्वेंस (सूची) आइटम। एक ही इंडेंट पर आइटम मिलकर एक सूची बनाते हैं।
nested:\n key: valueइंडेंटेशन से नेस्टिंग — प्रति स्तर दो स्पेस पारंपरिक है (कभी टैब नहीं)।
"a string"कोटेड स्ट्रिंग। कोट केवल तब चाहिए जब वैल्यू अन्यथा ग़लत पढ़ी जाए।
# commentएक टिप्पणी — पार्सर द्वारा अनदेखी की जाती है (और YAML दोबारा सीरियलाइज़ होने पर हट जाती है)।
---एक दस्तावेज़ विभाजक, ताकि एक फ़ाइल कई YAML दस्तावेज़ रख सके।
| and >ब्लॉक स्केलर: | नई-लाइनें रखता है (लिटरल), > उन्हें स्पेस में मोड़ देता है।
&anchor / *aliasकिसी नोड को एक बार & से परिभाषित करें, दोहराव से बचने के लिए * से पुनः उपयोग करें।

सामान्य उपयोग

  • इंडेंटेशन ठीक करें किसी Kubernetes, Docker Compose, GitHub Actions या Ansible फ़ाइल में कमिट करने से पहले।
  • वैलिडेट करें एक कॉन्फ़िग फ़ाइल और वह ठीक लाइन खोजें जिस पर पार्सर अटक रहा है।
  • कन्वर्ट करें किसी API की JSON प्रतिक्रिया को पढ़ने-योग्य YAML में, या किसी YAML कॉन्फ़िग को JSON में उस टूल के लिए जो केवल JSON स्वीकार करता है।
  • सामान्यीकृत करें हाथ से संपादित YAML को ताकि किसी टीम में डिफ़ छोटे और एक-समान बने रहें।
  • Minify करें किसी कॉन्फ़िग को एक ही लाइन में एम्बेड करने के लिए (उदाहरण के लिए किसी अन्य YAML या शेल वैरिएबल के अंदर)।

टिप्पणियों पर एक नोट

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

गोपनीयता

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

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

YAML फ़ॉर्मैटर क्या करता है?
यह आपके YAML को पढ़ता है, जाँचता है कि वह मान्य है, और उसे एक साफ़, एक-समान लेआउट में फिर से लिखता है। Beautify हर चीज़ को आपके चुने हुए 2- या 4-स्पेस चौड़ाई में पढ़ने-योग्य ब्लॉक स्टाइल में फिर से इंडेंट करता है; Minify उसे संक्षिप्त फ़्लो स्टाइल में समेट देता है (JSON की तरह एक ही लाइन में) जो फिर भी मान्य YAML है। चूँकि दोनों पहले दस्तावेज़ को पार्स करते हैं, अमान्य फ़ाइल तुरंत पकड़ी जाती है और सटीक पार्सर त्रुटि दिखाई जाती है — इसलिए यह टूल एक YAML वैलिडेटर और लिंटर की तरह भी काम करता है।
मैं YAML को JSON में (या JSON को YAML में) कैसे बदलूँ?
अपना डेटा पेस्ट करें और “YAML → JSON” या “JSON → YAML” पर क्लिक करें। टूल स्रोत को एक इन-मेमोरी डेटा संरचना में पार्स करता है और उसे लक्ष्य फ़ॉर्मैट में दोबारा सीरियलाइज़ करता है, इसलिए वैल्यू, टाइप और संरचना बिल्कुल सुरक्षित रहती हैं। YAML, JSON का सुपरसेट है, इसलिए हर JSON फ़ाइल पहले से ही मान्य YAML है; उल्टी दिशा में बदलना बस YAML के साफ़, इंडेंटेशन-आधारित लेआउट का उपयोग करता है। यदि आपके YAML में --- से अलग किए गए कई दस्तावेज़ हैं, तो JSON में बदलने पर उन दस्तावेज़ों का एक JSON ऐरे बनता है।
फ़ॉर्मैटिंग के बाद मेरी टिप्पणियाँ क्यों ग़ायब हो गईं?
YAML टिप्पणियाँ (# से शुरू होने वाली लाइनें) मनुष्यों के लिए मेटाडेटा हैं — वे पार्स किए गए डेटा का हिस्सा नहीं हैं। एक फ़ॉर्मैटर दस्तावेज़ को उसकी डेटा संरचना में पार्स करके फिर उसे दोबारा सीरियलाइज़ करके काम करता है, और वह चक्र टिप्पणियों को साथ नहीं ले जाता। यह हर लाइब्रेरी-आधारित YAML फ़ॉर्मैटर का, इस टूल सहित, मानक व्यवहार है। यदि आपको टिप्पणियाँ रखनी हैं तो फ़ाइल को हाथ से संपादित करें या ऐसा एडिटर प्लगइन इस्तेमाल करें जो उन्हें सुरक्षित रखे; डेटा को स्वयं वैलिडेट, पुनर्संरचित या कन्वर्ट करने के लिए इस टूल का उपयोग करें।
क्या यह बहु-दस्तावेज़ YAML फ़ाइलों को सपोर्ट करता है?
हाँ। YAML फ़ाइलों में --- लाइन से अलग किए गए कई दस्तावेज़ हो सकते हैं (Kubernetes मैनिफ़ेस्ट में आम)। फ़ॉर्मैटर उन सभी को पार्स करता है: Beautify और Minify हर दस्तावेज़ को --- विभाजकों के साथ दोबारा उत्सर्जित करते हैं, और “YAML → JSON” प्रति दस्तावेज़ एक तत्व वाला एक JSON ऐरे लौटाता है। एकल-दस्तावेज़ फ़ाइल को एक सादे ऑब्जेक्ट के रूप में संभाला जाता है, ऐरे में नहीं लपेटा जाता।
क्या मेरा YAML कहीं अपलोड होता है?
नहीं। सारी पार्सिंग, फ़ॉर्मैटिंग और रूपांतरण ओपन-सोर्स js-yaml लाइब्रेरी के साथ आपके ब्राउज़र में होते हैं — आपका डेटा कभी आपके डिवाइस से बाहर नहीं जाता, कुछ भी लॉग नहीं होता और कोई नेटवर्क अनुरोध नहीं होता। पेज लोड होने के बाद यह ऑफ़लाइन भी काम करता रहता है, जो इसे उन कॉन्फ़िगरेशन फ़ाइलों के लिए सुरक्षित बनाता है जिनमें होस्टनेम, सीक्रेट या अन्य संवेदनशील वैल्यू होती हैं।

संबंधित टूल

Sources and standards

This tool follows the published specification for what it does, rather than a hand-written approximation. The references below are the primary documents it implements — each one is the authority for the rules applied on this page.

और टूल्स देखें

सभी 90 टूल्स देखें →