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

YAML को JSON में और JSON को YAML में बदलें, और किसी भी सिंटैक्स एरर की सटीक लाइन और कॉलम पाएँ।

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

  1. YAML या JSON पेस्ट करें — टूल ख़ुद पहचान लेता है कि कौन-सा है, या आप दिशा ख़ुद चुन सकते हैं।
  2. "बदलें" पर क्लिक करें। अगर सिंटैक्स टूटा हुआ है, तो संदेश में लाइन और कॉलम पढ़ें और ग़लत अक्षर के नीचे बना कैरेट देखें।
  3. नतीजा कॉपी करें या उसे converted.json या converted.yaml के रूप में डाउनलोड करें। कुछ भी अपलोड नहीं होता।

इस टूल के बारे में

YAML और JSON एक ही चीज़ बताते हैं — मैप, सूचियाँ, स्ट्रिंग, संख्याएँ, बूलियन और null — लेकिन उनकी प्राथमिकताएँ उलटी हैं। JSON ब्रेस और कोट इस्तेमाल करता है, जो मशीनों को पसंद हैं और लोग जिन्हें टाइप करने में ग़लती कर बैठते हैं। YAML इंडेंटेशन और लगभग कोई विराम-चिह्न इस्तेमाल नहीं करता, जो लोगों को तब तक पसंद है जब तक एक भटका हुआ स्पेस पूरे दस्तावेज़ का आकार न बदल दे। इनके बीच बदलना रोज़ का काम है: किसी Kubernetes मैनिफ़ेस्ट या GitHub Actions वर्कफ़्लो को JSON के रूप में पढ़ना ताकि कोई स्क्रिप्ट उसे इस्तेमाल कर सके, या किसी API जवाब को वापस YAML में बदलकर कॉन्फ़िग फ़ाइल बनाना। यह टूल दोनों दिशाओं में काम करता है और पहचान लेता है कि आपने कौन-सा पेस्ट किया।

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

YAML कुछ ऐसी चीज़ें कह सकता है जो JSON नहीं कह सकता, और उनमें से हर एक को चुपचाप आपका डेटा बदलने के बजाय बता दिया जाता है। ऐंकर और एलियस (anchors/aliases) खोल दिए जाते हैं, यानी एलियस ऐंकर वाले मान की पूरी नक़ल बन जाता है, और आपको बता दिया जाता है। merge keys नहीं: पार्सर JSON स्कीमा पर चलता है, जो उन्हें हल नहीं करता, इसलिए << वाली लाइन एक शाब्दिक की के रूप में बची रहती है और चेतावनी मिलती है कि वे फ़ील्ड हाथ से मिला लें। --- से अलग किए गए कई दस्तावेज़ों वाली फ़ाइल एक JSON ऐरे बन जाती है, हर दस्तावेज़ के लिए एक आइटम। .inf और .nan मान null बनकर निकलते हैं, और बहुत बड़ी पूर्णांक संख्याएँ अपने आख़िरी अंक खो देती हैं; दोनों बता दिए जाते हैं। वह स्कीमा एक सुरक्षा-निर्णय भी है: !!js/function जैसे टैग बनाए जाने के बजाय अनजान मानकर ठुकरा दिए जाते हैं। और इनमें से कुछ भी कहीं जाता नहीं — सब कुछ आपके डिवाइस पर चलता है।

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

क्या मेरा YAML या JSON मेरे ब्राउज़र से बाहर जाता है?

नहीं। टेक्स्ट आपके अपने डिवाइस पर JavaScript से पार्स और कन्वर्ट होता है — कुछ भी कहीं भेजा, स्टोर या लॉग नहीं होता। यहाँ यह ख़ास तौर पर मायने रखता है: किसी Kubernetes मैनिफ़ेस्ट में होस्टनाम, पोर्ट, bucket के नाम और सर्विस अकाउंट होते हैं।

एरर में दी गई लाइन और कॉलम का ठीक-ठीक मतलब क्या है?

वे वह जगह हैं जहाँ पार्सर ने हार मानी, आपके एडिटर की तरह 1 से गिनी गई, और उसी अक्षर के नीचे कैरेट के साथ। एक स्थिति लोगों को चौंकाती है: बिना बंद हुआ कोट फ़ाइल के अंत में बताया जाता है, इसलिए पीछे जाकर वह आख़िरी कोट ढूँढ़ें जो आपने खोला था।

क्या anchors और aliases समर्थित हैं?

हाँ। हर एलियस JSON में ऐंकर वाले मान की पूरी नक़ल बन जाता है, और टूल यह बता देता है। merge keys अपवाद हैं: वे हल नहीं की जातीं, << एक शाब्दिक की के रूप में बचा रहता है, और चुपचाप ग़लत नतीजे के बजाय आपको साफ़ चेतावनी मिलती है।

क्या यह --- से अलग किए गए कई दस्तावेज़ों वाली फ़ाइल बदल सकता है?

हाँ। JSON में एक फ़ाइल में कई दस्तावेज़ों जैसी कोई अवधारणा नहीं है, इसलिए हर YAML दस्तावेज़ क्रम से एक JSON ऐरे का एक आइटम बन जाता है, और एक सूचना बता देती है कि कितने मिले।

"yes" true के बजाय स्ट्रिंग बनकर क्यों निकला?

क्योंकि YAML 1.2 सिर्फ़ true और false को बूलियन मानता है; yes, no, on और off स्ट्रिंग ही रहते हैं। पुराने 1.1 पार्सर उन्हें बदल देते थे — वही नियम जो देश कोड NO को false बना देता है। जब किसी मान का टेक्स्ट बने रहना ज़रूरी हो, उसे कोट में लिख दें।

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

JSON फ़ॉर्मैटर और वैलिडेटर सटीक त्रुटि संदेशों के साथ JSON को फ़ॉर्मैट, मिनिफ़ाई और सत्यापित करें — सीधे आपके ब्राउज़र में। XML फ़ॉर्मैटर और वैलिडेटर XML को फ़ॉर्मैट, मिनिफ़ाई और वैलिडेट करें, साफ़ त्रुटि संदेशों के साथ — सीधे अपने ब्राउज़र में। SQL फ़ॉर्मैटर एक ही लाइन में लिखी, न पढ़ी जाने वाली SQL को ठीक से इंडेंट की गई क्वेरी में बदलें — 18 डायलेक्ट, सब कुछ आपके ब्राउज़र में। टैब से स्पेस कन्वर्टर इंडेंटेशन को टैब और स्पेस के बीच बदलें, मनचाही चौड़ाई के साथ — सीधे आपके ब्राउज़र में। रोमन अंक कन्वर्टर संख्याओं को रोमन अंकों में और वापस बदलें, सख़्त जाँच तथा चरण-दर-चरण विश्लेषण के साथ। CSV ↔ JSON Converter CSV को JSON में या JSON को CSV में कन्वर्ट करें — डेलिमिटर चुनें, डेटा पेस्ट करें, और रिजल्ट कॉपी करें।

लंबे लिंक? मुफ़्त में छोटा करें

Vai.la किसी भी URL को क्लिक आंकड़ों, QR Code और आपके अपने बायोलिंक के साथ एक शॉर्ट लिंक में बदल देता है।

टूल्स का इस्तेमाल कैसे होता है या उनके परिणामों के आधार पर लिए गए निर्णयों के लिए Vai.la ज़िम्मेदार नहीं है।