मुख्य सामग्री पर जाएँ

JSON ↔ YAML कन्वर्टर

JSON ↔ YAML कन्वर्टर

JSON और YAML को साथ-साथ एडिट करें, एक तरफ़ बदलाव करते ही दूसरी तरफ़ तुरंत सिंक होता है। इंडेंट एडजस्टमेंट, की सॉर्टिंग और मल्टी-डॉक्यूमेंट YAML स्प्लिटिंग को सपोर्ट करता है। Kubernetes/Helm/CI कॉन्फ़िग और API डीबगिंग के लिए उपयोगी।

JSON ↔ YAML कन्वर्टर

🚀 क्विक स्टार्ट

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

📌 सामान्य उपयोग के मामले

  • कुबेरनेट्स संलेखन: किसी भी दृश्य से संरचना का निरीक्षण करने के लिए K8s संसाधन मैनिफ़ेस्ट को YAML और JSON के बीच परिवर्तित करें।
  • हेल्म वैल्यू डिबगिंग: अपने आईडीई में प्रकारों और नेस्टिंग का निरीक्षण करने के लिए values.yaml को JSON में कनवर्ट करें।
  • सीआई/सीडी पाइपलाइन: गिटहब एक्शन (वाईएएमएल) और जेएसओएन का उपयोग करने वाले सीआई सिस्टम के बीच स्निपेट्स को तुरंत परिवर्तित करें।
  • एपीआई डिबगिंग: स्पष्ट पदानुक्रमित दृश्य के लिए JSON पेलोड को YAML में बदलें।
  • कॉन्फ़िगरेशन माइग्रेशन: YAML और JSON के बीच बैच-कन्वर्ट कॉन्फ़िगरेशन फ़ाइलें।
  • फ़ॉर्मेटिंग और सत्यापन: लाइन/कॉलम त्रुटि स्थान के साथ, दो-तरफा सिंक के माध्यम से JSON/YAML सिंटैक्स को सत्यापित करें।

🧭 उपयोग टिप्स

  • अधिकांश मामलों के लिए 2-स्पेस JSON इंडेंट काम करता है; डीप नेस्टिंग या हेल्म मान फ़ाइलों के लिए 4 रिक्त स्थान का उपयोग करें।
  • ऑब्जेक्ट कुंजियों को वर्णानुक्रम में दिखाने के लिए कुंजी-सॉर्टिंग सक्षम करें। इससे कॉन्फ़िगरेशन के अंतर की तुलना करना आसान हो जाता है।
  • जब JSON रूट एक सरणी है, तो प्रत्येक तत्व को एक अलग दस्तावेज़ (---) में विभाजित करने के लिए मल्टी-डॉक्यूमेंट YAML को सक्षम करें, जो मल्टी-रिसोर्स K8s फ़ाइलों के लिए उपयोगी है।
  • यदि इनपुट अमान्य है, तो संपादक पंक्ति/स्तंभ विवरण के साथ एक त्रुटि दिखाता है; दूसरा पक्ष अपनी अंतिम वैध सामग्री रखता है।
  • बड़ी सामग्री के लिए, पहले पेस्ट करें और सिंक होने की प्रतीक्षा करें, फिर अत्यधिक पुन: रूपांतरण से बचने के लिए संपादन जारी रखें।

⚠️ सीमाएं और संगतता

  • YAML पार्सिंग YAML 1.2 विनिर्देश का अनुसरण करता है। कुछ YAML 1.1-विशिष्ट व्यवहार (उदाहरण के लिए, हाँ/नहीं ऑटो-बूलियन रूपांतरण) भिन्न हो सकते हैं।
  • JSON नंबर जावास्क्रिप्ट IEEE 754 सीमाओं का पालन करते हैं। 53-बिट सुरक्षित परिशुद्धता से परे पूर्णांक सटीकता खो सकते हैं।
  • JSON में परिवर्तित होने पर YAML एंकर और उपनाम (&, *, <<) को ठोस मानों तक विस्तारित किया जाता है; संदर्भों को संरक्षित नहीं किया जा सकता.
  • रूपांतरण के दौरान YAML टिप्पणियाँ हटा दी जाती हैं क्योंकि JSON टिप्पणियों का समर्थन नहीं करता है।

🔒 गोपनीयता और सुरक्षा

  • सारी प्रोसेसिंग आपके ब्राउज़र में स्थानीय रूप से होती है। आपका डेटा कभी भी आपका डिवाइस नहीं छोड़ता.

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

JSON और YAML के बीच क्या अंतर है, और मुझे प्रत्येक का उपयोग कब करना चाहिए?

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

रूपांतरण के बाद YAML में हाँ/नहीं/चालू/बंद सत्य/गलत क्यों हो जाते हैं?

यह लीगेसी YAML 1.1 व्यवहार से आता है, जहां हां/नहीं/ऑन/ऑफ/वाई/एन को बूलियन के रूप में पार्स किया जा सकता है। यह उपकरण YAML 1.2 का अनुसरण करता है, जहां केवल सत्य/गलत बूलियन हैं। यदि आपको स्ट्रिंग मानों की आवश्यकता है, तो उन्हें उद्धृत करें (उदाहरण के लिए, "हाँ")।

JSON में कनवर्ट करने के बाद YAML टिप्पणियाँ गायब क्यों हो जाती हैं?

JSON (RFC 8259) टिप्पणियों की अनुमति नहीं देता है। इसलिए YAML टिप्पणियों को YAML→JSON रूपांतरण में संरक्षित नहीं किया जा सकता है, और वापस कनवर्ट करते समय उनका पुनर्निर्माण नहीं किया जा सकता है। यदि टिप्पणियाँ मायने रखती हैं तो मूल YAML फ़ाइल रखें।

YAML में --- का क्या मतलब है?

--- YAML का दस्तावेज़ विभाजक है, जिसका उपयोग कई स्वतंत्र दस्तावेज़ों को एक फ़ाइल में संग्रहीत करने के लिए किया जाता है। यह कुबेरनेट्स में आम है, जहां एक फ़ाइल में परिनियोजन, सेवा और कॉन्फ़िगमैप परिभाषाएँ हो सकती हैं। यह उपकरण बहु-दस्तावेज़ YAML को JSON सरणी के रूप में पढ़ता है, और JSON सरणी को वापस --- अलग किए गए YAML दस्तावेज़ों में विभाजित भी कर सकता है।

यदि रूपांतरण के बाद संख्यात्मक परिशुद्धता खो जाती है तो मुझे क्या करना चाहिए?

जावास्क्रिप्ट IEEE 754 डबल-सटीक संख्याओं का उपयोग करता है। सुरक्षित पूर्णांक -(2^53-1) से 2^53-1 (±9007199254740991) तक होते हैं। बड़े पूर्णांक (उदाहरण के लिए, स्नोफ्लेक आईडी या 64-बिट टाइमस्टैम्प) सटीकता खो सकते हैं। सटीक मानों को संरक्षित करने के लिए, उन्हें स्ट्रिंग के रूप में संग्रहीत करें, जैसे "9007199254740992"।

रूपांतरण के दौरान YAML एंकर (& और *) का क्या होता है?

एंकर (&नाम) और उपनाम (*नाम) YAML-विशिष्ट पुन: उपयोग की विशेषताएं हैं। JSON में कोई समकक्ष संदर्भ तंत्र नहीं है, इसलिए रूपांतरण के दौरान उपनामों को पूर्ण प्रतियों में विस्तारित किया जाता है। यह एक हानिपूर्ण परिवर्तन है, और मूल एंकर संरचना को स्वचालित रूप से बहाल नहीं किया जा सकता है।