JSON से YAML

ब्राउज़र में चलता है JSON और डेटा

JSON को YAML में बदलें, जिसमें अस्पष्ट स्केलर, मल्टी-लाइन स्ट्रिंग और नेस्टेड कलेक्शन की सही क्वोटिंग होती है — Kubernetes मैनिफ़ेस्ट, CI पाइपलाइन और OpenAPI फ़ाइलों के लिए बेहद उपयोगी।

गोपनीयता: यह टूल पूरी तरह आपके ब्राउज़र में चलता है। आपका इनपुट कभी आपके डिवाइस से बाहर नहीं जाता।
टूल लोड हो रहा है…

JSON, CSV, YAML और XML के बीच डेटा बदलने पर क्या बदलता है?

चारों फ़ॉर्मेट डेटा को अलग तरह से मॉडल करते हैं: JSON और YAML नेस्टिंग व टाइप रखते हैं, CSV स्ट्रिंग की सपाट तालिका है, और XML एलिमेंट व एट्रिब्यूट में फ़र्क करता है। इसलिए कन्वर्टर को फ़ैसले लेने पड़ते हैं — नेस्टेड ऑब्जेक्ट कॉलम में कैसे सपाट हों, "42" और "true" का टाइप क्या हो, एट्रिब्यूट कहाँ जाएँ — और सही फ़ैसला उस पर निर्भर है जो रिसीविंग सिस्टम अपेक्षित करता है।

गाइड पढ़ें: JSON क्या है?

JSON से YAML कैसे इस्तेमाल करें

  1. JSON डॉक्यूमेंट पेस्ट करें।
  2. इंडेंटेशन, ब्लॉक या फ़्लो स्टाइल, और सभी स्ट्रिंग कोट करनी हैं या नहीं — यह चुनें।
  3. YAML को अपने मैनिफ़ेस्ट, पाइपलाइन या OpenAPI फ़ाइल में कॉपी करें।

JSON से YAML की खूबियाँ

  • किसी भी JSON वैल्यू को YAML 1.2 में बदलता है
  • अस्पष्ट स्केलर (true, 0123, null, तारीख़ें) को कोट करता है ताकि टाइप बने रहें
  • ब्लॉक या फ़्लो कलेक्शन स्टाइल, 2 या 4 स्पेस इंडेंटेशन
  • मल्टी-लाइन स्ट्रिंग लिटरल ब्लॉक स्केलर के रूप में दी जाती हैं
  • हर स्ट्रिंग को कोट करने का वैकल्पिक विकल्प
  • लाइव कन्वर्ज़न, कॉपी और डाउनलोड के साथ

JSON से YAML का उदाहरण

JSON से Kubernetes जैसा मैनिफ़ेस्ट

इनपुट:

{"apiVersion":"v1","kind":"ConfigMap","data":{"LOG_LEVEL":"info","DEBUG":"true"}}

आउटपुट:

apiVersion: v1
kind: ConfigMap
data:
  LOG_LEVEL: info
  DEBUG: "true"

JSON से YAML के बारे में अक्सर पूछे जाने वाले सवाल

क्या "true" या "0123" जैसी स्ट्रिंग स्ट्रिंग ही रहेंगी?

हाँ। जिन वैल्यू को YAML बूलियन, संख्या, null या तारीख़ मान लेता, उन्हें अपने आप कोट कर दिया जाता है ताकि राउंड ट्रिप के बाद भी उनका टाइप बना रहे।

ब्लॉक और फ़्लो स्टाइल में क्या अंतर है?

ब्लॉक स्टाइल हर लिस्ट आइटम और की को अलग लाइन पर रखता है (आम Kubernetes/CI वाला रूप)। फ़्लो स्टाइल छोटे कलेक्शन इनलाइन लिखता है, जैसे [a, b] और {x: 1}।

क्या मल्टी-लाइन स्ट्रिंग समर्थित हैं?

न्यूलाइन वाली स्ट्रिंग लिटरल ब्लॉक स्केलर (|) के रूप में दी जाती हैं, जिससे वे पढ़ने में आसान और बिल्कुल सटीक रहती हैं।

क्या आउटपुट वैध YAML 1.2 है?

हाँ। कन्वर्टर core YAML 1.2 स्कीमा इस्तेमाल करता है, जिसकी अपेक्षा Kubernetes, GitHub Actions, Docker Compose और OpenAPI टूलिंग करते हैं।

तकनीकी नोट्स

Serialization yaml पैकेज से YAML 1.2 core schema और lineWidth 0 के साथ होती है, इसलिए लंबी स्ट्रिंग कभी fold नहीं होतीं। Scalar को डबल कोट वहीं मिलते हैं जहाँ 1.2 उन्हें ग़लत पढ़ता — "true", "null", "0123", "1e3", ख़ाली स्ट्रिंग, #, &, *, [ जैसे indicator से शुरू या ": " वाली वैल्यू। चूँकि 1.2 में yes, no, on, off और ISO तारीख़ें सादी स्ट्रिंग हैं, वे बिना कोट रहती हैं; PyYAML जैसे YAML 1.1 consumer उन्हें अलग पढ़ते हैं।

Newline वाली स्ट्रिंग literal block scalar बनती हैं (trailing newline के अनुसार | या |-), block sequence parent key के नीचे indent होते हैं, और anchor/alias कभी नहीं निकलते। 'Flow style' root समेत हर collection पर लागू है, इसलिए पूरा दस्तावेज़ एक { … } लाइन में सिमटता है। 'Quote all strings' सिर्फ़ वैल्यू छूता है — key ज़रूरत पर ही कोट होती हैं — और JSON.parse पहले चलने से 2^53 − 1 से बड़े integer पहले ही गोल होते हैं।

संदर्भ