JSON से YAML कन्वर्टर
बाईं ओर JSON पेस्ट करें, दाईं ओर साफ़-सुथरा YAML 1.2 पाएं। पूरी तरह आपके ब्राउज़र में चलता है — कोई अपलोड नहीं।
- बाएँ टेक्स्ट एरिया में JSON पेस्ट करें।
- "YAML में बदलें" पर क्लिक करें। YAML आउटपुट दाईं ओर दिखेगा।
- परिणाम कॉपी करें या Download क्लिक करके data.yaml के रूप में सहेजें।
- यदि JSON अमान्य है, तो त्रुटि संदेश गलत स्थान बताता है।
यह क्या करता है?
JSON को समतुल्य YAML 1.2 में बदलता है। ऑब्जेक्ट मैपिंग बनते हैं, ऐरे सीक्वेंस बनते हैं, और संख्या/बूलियन/null/स्ट्रिंग अपना प्रकार बनाए रखते हैं। आउटपुट डिफ़ॉल्ट रूप से 2-स्पेस इंडेंटेशन और 100-कॉलम लाइन चौड़ाई का उपयोग करता है। JSON → YAML → JSON राउंड-ट्रिप पर अर्थ बना रहता है, हालाँकि टिप्पणियाँ और क्रम संबंधी बारीकियाँ JSON-साइड की सीमाएँ हैं जिनसे अवगत रहना ज़रूरी है।
उदाहरण
JSON इनपुट:
{"name":"Ada","tags":["math","logic"],"active":true} YAML आउटपुट:
name: Ada
tags:
- math
- logic
active: true सामान्य JSON त्रुटियाँ और उन्हें कैसे ठीक करें
यह टूल YAML में बदलने से पहले JSON का मान्य होना ज़रूरी है। पार्सर किसी भी विफलता की लाइन और कॉलम बताता है — ये पैटर्न लगभग हर "अमान्य JSON" त्रुटि का कारण होते हैं।
- ट्रेलिंग कॉमा। `{"a": 1, "b": 2,}` अमान्य है। JSON ऑब्जेक्ट या ऐरे के अंतिम तत्व के बाद कॉमा की अनुमति नहीं देता।
- सिंगल कोट्स। `{'a': 1}` अमान्य है। JSON स्ट्रिंग और कुंजियाँ डबल कोट्स में होनी चाहिए।
- बिना कोट के कुंजियाँ। `{a: 1}` अमान्य है — JavaScript ऑब्जेक्ट लिटरल इसकी अनुमति देते हैं, JSON नहीं। कुंजी को डबल कोट में लपेटें।
- टिप्पणियाँ। सख़्त JSON में // या /* */ टिप्पणियाँ अनुमत नहीं। बदलने से पहले हटा दें या YAML आउटपुट में (जो # टिप्पणियाँ समर्थित करता है) हाथ से जोड़ें।
- स्मार्ट कोट्स। वर्ड प्रोसेसर से कॉपी-पेस्ट करते समय कभी-कभी " को कर्वी कोट्स से बदल दिया जाता है — JSON इन्हें अस्वीकार करता है। फिर से टाइप करें या प्लेन-टेक्स्ट संपादक से होकर पेस्ट करें।
- NaN / Infinity। JSON में NaN, Infinity या -Infinity के लिए कोई प्रतिनिधित्व नहीं है। यदि आपका डेटा इन्हें रखता है, चुनें: null के रूप में सीरियलाइज़ करें (जानकारी खोता है) या स्ट्रिंग "NaN" के रूप में (आशय रखता है पर प्रकार बदलता है)।
अक्सर पूछे जाने वाले प्रश्न
मेरे YAML आउटपुट में टिप्पणियाँ क्यों नहीं हैं?
JSON में टिप्पणी सिंटैक्स नहीं है, इसलिए ले जाने के लिए कोई टिप्पणी नहीं। टिप्पणी सहित YAML चाहिए तो रूपांतरण के बाद आउटपुट को हाथ से संपादित करें। कुछ टीमें JSON में `_comment` फ़ील्ड के रूप में टिप्पणियों को एनकोड करती हैं, पर वे YAML में सामान्य कुंजियाँ बनती हैं — असली टिप्पणियाँ नहीं।
क्या मेरी कुंजी का क्रम सुरक्षित रहेगा?
हाँ। JSON ऑब्जेक्ट कुंजी क्रम YAML मैपिंग क्रम के रूप में संरक्षित है — आधुनिक ब्राउज़रों में JSON.parse + JSON.stringify की तरह, जो इंसर्शन क्रम बनाए रखते हैं। यदि वर्णमाला अनुसार सॉर्टिंग चाहिए, पहले JSON को सॉर्ट करें।
गहराई से नेस्टेड संरचनाएँ कैसे फ़ॉर्मेट होती हैं?
YAML आउटपुट प्रति स्तर 2-स्पेस इंडेंटेशन का उपयोग करता है, ब्लॉक शैली में सीक्वेंस के साथ (प्रति पंक्ति एक आइटम, `-` से शुरू)। खाली ऑब्जेक्ट और ऐरे क्रमशः `{}` और `[]` के रूप में रेंडर होते हैं — फ्लो शैली, क्योंकि खाली के लिए ब्लॉक शैली अस्पष्ट होगी।
क्या यह बाइनरी डेटा का समर्थन करता है?
JSON में नेटिव बाइनरी प्रकार नहीं, इसलिए बाइनरी आमतौर पर इनपुट में पहले से ही base64 स्ट्रिंग के रूप में एनकोड होता है। आउटपुट YAML उस स्ट्रिंग को संरक्षित करता है। यदि आपको वास्तव में YAML बाइनरी फ़ॉर्मैट (`!!binary`) चाहिए, तो रूपांतरण उसे नहीं बनाता — base64 स्ट्रिंग दृष्टिकोण रखें।
क्या यह API कुंजियों जैसे संवेदनशील JSON के लिए सुरक्षित है?
हाँ। सब कुछ आपके ब्राउज़र में चलता है। आपका इनपुट इस पेज के JavaScript द्वारा पार्स और कन्वर्ट होता है; कोई सर्वर संपर्क नहीं। ब्राउज़र डेव टूल्स में सत्यापित करें — Convert क्लिक करने पर कोई नेटवर्क रिक्वेस्ट नहीं।
क्या मैं JSON → YAML → JSON राउंड-ट्रिप कर सकता हूँ?
डेटा के लिए, हाँ — अर्थ संरक्षित है। सटीक बाइट-तुल्य पाठ के लिए, नहीं — व्हाइटस्पेस और कोटिंग सामान्यीकृत हो जाते हैं। यदि स्थिर कैनोनिकल रूप चाहिए, पेस्ट से पहले सॉर्ट कुंजियों के साथ JSON.stringify चलाएँ।