YAML से JSON कन्वर्टर
YAML (Kubernetes manifest, Docker Compose, CI कॉन्फ़िग) पेस्ट करें और तुरंत साफ़ JSON पाएँ। एरर पॉइंटर के साथ ठीक लाइन दिखाते हैं।
आपके ब्राउज़र में चलता हैसाइन-अप ज़रूरी नहींकुछ भी अपलोड नहीं होता
YAML से JSON का उपयोग कैसे करें
- बाएँ बॉक्स में YAML पेस्ट करें या कोई
.yaml/.ymlफ़ाइल खोलें। - आपके टाइप करते ही दाईं ओर JSON दिखता है। आउटपुट के लिए 2 स्पेस, 4 स्पेस या टैब चुनें।
- की को वर्णक्रम में लगाने के लिए की सॉर्ट करें पर टिक करें। कॉन्फ़िग की तुलना करते समय यह मदद करता है।
- अगर YAML अमान्य है, तो स्टेटस बार लाइन और कॉलम दिखाता है, और गड़बड़ वाली लाइनें उसके नीचे
^निशान के साथ दिखती हैं। - 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 ब्लॉक)\nescape वाली साधारण स्ट्रिंग बन जाती हैं।
मल्टी-डॉक्यूमेंट 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को बूलियन मानता है। - ऑक्टल संख्याएँ:
07551.1 में ऑक्टल है लेकिन 1.2 में साधारण दशमलव, जो0o755इस्तेमाल करता है। सुरक्षित रहने के लिए फ़ाइल मोड को कोट करें। - Sexagesimal संख्याएँ: 1.1 में
22:30संख्या 1350 के रूप में पार्स हो सकता है। समय और"8080:80"जैसी पोर्ट मैपिंग को कोट करें।
JSON → YAML दिशा अस्पष्ट स्ट्रिंग ('no', 'on', 'y') को अपने-आप कोट करती है, इसलिए इसका बनाया YAML दोनों वर्ज़न में एक जैसा पढ़ा जाता है।
अक्सर पूछे जाने वाले सवाल
क्या मेरा YAML कहीं अपलोड होता है?
मेरा YAML “bad indentation” के साथ क्यों फ़ेल होता है?
-) अपनी पैरेंट की के नीचे एक जैसे इंडेंट हों।YAML कमेंट का क्या होता है?
<code>no</code> स्ट्रिंग ही क्यों रहा?
true/false बूलियन हैं। पुराने YAML 1.1 पार्सर no, yes, on और off को बूलियन बना देते (“Norway समस्या”)।क्या मैं कई रिसोर्स वाला Kubernetes manifest कन्वर्ट कर सकता हूँ?
--- से अलग हर रिसोर्स आउटपुट JSON array का एक एलिमेंट बनता है, जो jq या kubectl apply -f - के लिए तैयार है, जो JSON लिस्ट भी स्वीकार करता है।