YAML से JSON कन्वर्टर

YAML (Kubernetes manifest, Docker Compose, CI कॉन्फ़िग) पेस्ट करें और तुरंत साफ़ JSON पाएँ। एरर पॉइंटर के साथ ठीक लाइन दिखाते हैं।

आपके ब्राउज़र में चलता हैसाइन-अप ज़रूरी नहींकुछ भी अपलोड नहीं होता

JSON आउटपुट

YAML से JSON का उपयोग कैसे करें

  1. बाएँ बॉक्स में YAML पेस्ट करें या कोई .yaml/.yml फ़ाइल खोलें।
  2. आपके टाइप करते ही दाईं ओर JSON दिखता है। आउटपुट के लिए 2 स्पेस, 4 स्पेस या टैब चुनें।
  3. की को वर्णक्रम में लगाने के लिए की सॉर्ट करें पर टिक करें। कॉन्फ़िग की तुलना करते समय यह मदद करता है।
  4. अगर YAML अमान्य है, तो स्टेटस बार लाइन और कॉलम दिखाता है, और गड़बड़ वाली लाइनें उसके नीचे ^ निशान के साथ दिखती हैं।
  5. JSON कॉपी या डाउनलोड करें, या उसे वापस YAML में बदलने के लिए अदला-बदली दबाएँ।

YAML, JSON में कैसे बदलता है

JSON, YAML 1.2 का एक उपसमूह है, इसलिए हर YAML mapping एक JSON ऑब्जेक्ट बनती है, हर sequence एक array, और scalar स्ट्रिंग, नंबर, बूलियन या null बनते हैं। सिर्फ़ YAML वाले फ़ीचर कन्वर्ज़न के दौरान सुलझा दिए जाते हैं:

  • कमेंट (# …) हटा दिए जाते हैं, क्योंकि JSON में कमेंट नहीं होते।
  • Anchors और aliases (&base, *base, <<: *base) पूरी कॉपी में फैला दिए जाते हैं।
  • टाइमस्टैम्प, जैसे 2024-01-02, ISO 8601 स्ट्रिंग बन जाते हैं।
  • मल्टी-लाइन स्ट्रिंग (| literal और > folded ब्लॉक) \n escape वाली साधारण स्ट्रिंग बन जाती हैं।

मल्टी-डॉक्यूमेंट YAML

एक फ़ाइल में --- से अलग किए गए कई YAML डॉक्यूमेंट हो सकते हैं, जैसा Kubernetes manifest में आम है। JSON में इसका कोई समकक्ष नहीं है, इसलिए कन्वर्टर हर डॉक्यूमेंट के लिए एक एलिमेंट वाला JSON array लौटाता है और स्टेटस बार में यह बताता है। अकेला आख़िरी --- अनदेखा किया जाता है।

YAML 1.1 बनाम 1.2 की पेचीदगियाँ

यह कन्वर्टर मौजूदा स्पेसिफ़िकेशन YAML 1.2 का पालन करता है। कई पुराने टूल (PyYAML, Ruby का Psych, कुछ Kubernetes और Ansible वर्ज़न) अब भी YAML 1.1 पढ़ते हैं, जहाँ नियम अलग हैं:

  • Norway समस्या: YAML 1.1 में country: no का मतलब false है, इसलिए नॉर्वे का देश कोड NO गायब हो जाता है। यही yes, on, off, y और n के साथ होता है। YAML 1.2 सिर्फ़ true और false को बूलियन मानता है।
  • ऑक्टल संख्याएँ: 0755 1.1 में ऑक्टल है लेकिन 1.2 में साधारण दशमलव, जो 0o755 इस्तेमाल करता है। सुरक्षित रहने के लिए फ़ाइल मोड को कोट करें।
  • Sexagesimal संख्याएँ: 1.1 में 22:30 संख्या 1350 के रूप में पार्स हो सकता है। समय और "8080:80" जैसी पोर्ट मैपिंग को कोट करें।

JSON → YAML दिशा अस्पष्ट स्ट्रिंग ('no', 'on', 'y') को अपने-आप कोट करती है, इसलिए इसका बनाया YAML दोनों वर्ज़न में एक जैसा पढ़ा जाता है।

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

क्या मेरा YAML कहीं अपलोड होता है?
नहीं। पार्सिंग आपके ब्राउज़र में ओपन-सोर्स js-yaml लाइब्रेरी से होती है। सीक्रेट या अंदरूनी hostname वाले कॉन्फ़िग कभी आपकी मशीन से बाहर नहीं जाते।
मेरा YAML “bad indentation” के साथ क्यों फ़ेल होता है?
YAML में नेस्टिंग स्पेस से तय होती है, और इंडेंटेशन के लिए टैब की अनुमति नहीं है। पक्का करें कि एक ही स्तर की की ठीक एक सीध में हों और लिस्ट आइटम (-) अपनी पैरेंट की के नीचे एक जैसे इंडेंट हों।
YAML कमेंट का क्या होता है?
वे हटा दिए जाते हैं। JSON में कमेंट का सिंटैक्स नहीं है, इसलिए कमेंट साथ नहीं ले जाए जा सकते। वापस YAML में बदलने से वे लौटेंगे नहीं।
<code>no</code> स्ट्रिंग ही क्यों रहा?
यह टूल YAML 1.2 का पालन करता है, जहाँ सिर्फ़ true/false बूलियन हैं। पुराने YAML 1.1 पार्सर no, yes, on और off को बूलियन बना देते (“Norway समस्या”)।
क्या मैं कई रिसोर्स वाला Kubernetes manifest कन्वर्ट कर सकता हूँ?
हाँ। --- से अलग हर रिसोर्स आउटपुट JSON array का एक एलिमेंट बनता है, जो jq या kubectl apply -f - के लिए तैयार है, जो JSON लिस्ट भी स्वीकार करता है।

संबंधित टूल्स