YAML से JSON परिवर्तक क्या है?

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

Converter js-yaml पर बना है, इसलिए YAML 1.2 के वो features भी समझता है जो साधारण converters छोड़ देते हैं: anchors और aliases (&ref / *ref), multi-line block strings (|, >), explicit type tags, और yes/no/on/off जैसे boolean variants। एक reverse mode JSON को वापस YAML में लाता है, structure रखता है और जहाँ ज़्यादा पढ़ने लायक हो वहाँ scalar arrays को एक line में मिलाता है।

उपयोग कैसे करें

  1. स्टेप 1 — YAML कंटेंट पेस्ट करें या .yml/.yaml फ़ाइल अपलोड करें। सिंटैक्स एरर लाइन नंबर के साथ हाइलाइट होते हैं ताकि जल्दी ठीक किए जा सकें।
  2. स्टेप 2 — कॉन्फ़िगर करने योग्य इंडेंटेशन (2 स्पेस, 4 स्पेस, tab या कॉम्पैक्ट) के साथ कन्वर्टेड JSON आउटपुट देखें।
  3. स्टेप 3 — JSON कॉपी करें या .json फ़ाइल के रूप में डाउनलोड करें। JSON को वापस YAML में बदलने के लिए रिवर्स मोड उपयोग करें।

कब उपयोग करें

  • Kubernetes manifest या Helm values file को JSON में बदलकर अपने validation script को देना।
  • GitHub Actions या GitLab CI config को ऐसे tool को देना जो सिर्फ़ JSON pipelines मानता है।
  • Compose schema errors debug करते वक़्त docker-compose.yml को YAML और JSON के बीच घुमाना।

परिणाम

आपको एक docker-compose.yml को डिप्लॉयमेंट API के लिए JSON में कन्वर्ट करना है। YAML को उसकी सर्विसेज़, वॉल्यूम और नेटवर्क डेफ़िनिशन के साथ पेस्ट करें और वैलिड JSON पाएँ जो API स्वीकार करता है, जिसमें हर नेस्टेड स्ट्रक्चर और ऐरे सुरक्षित रहता है।

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

क्या यह YAML के anchors और aliases (& और *) संभालता है?
हाँ। js-yaml parsing के दौरान ही anchors resolve कर देता है, तो JSON output में reference syntax नहीं, expand किए हुए values आते हैं। YAML में दो keys ने एक anchor share किया हो, तो JSON में दोनों के पास data की अपनी पूरी copy होगी।
मेरा YAML boolean (yes / no) कुछ tools में string क्यों बन जाता है?
YAML 1.1 yes/no/on/off को boolean मानता था, पर YAML 1.2 सिर्फ़ true/false पहचानता है। यह converter 1.2 follow करता है, तो yes/no string ही रहते हैं जब तक आप explicit true/false न लिखें। इसलिए मशहूर Norway bug और दूसरी traps यहाँ ग़ायब हो जाती हैं।
क्या मैं JSON को वापस YAML में convert कर सकता हूँ?
हाँ। Reverse toggle on करते ही input JSON, output YAML बन जाता है। Dumper nested objects और arrays रखे रहता है, और newline वाले लंबे keys block scalars (|) के तौर पर निकलते हैं ताकि पढ़ने में सहूलियत रहे।
Dates और timestamps कैसे handle होते हैं?
YAML के date और timestamp literals JSON में ISO 8601 strings बन जाते हैं (JSON में native date type नहीं है)। Reverse mode से आना-जाना करने पर वे string ही रहते हैं, YAML के implicit date type में वापस नहीं जाते — यह सुरक्षित default है।
Indent option किसलिए है, कौन सा चुनूँ?
JavaScript और ज़्यादातर APIs के लिए 2 spaces de facto standard है। 4 spaces Python के PEP 8 से मेल खाते हैं, अगर result को .py file में embed करना हो। Compact (0) एक-line output देता है, HTTP request body या curl command में paste करने के लिए बढ़िया। Tab असली tab character से JSON को indent करता है, Go या Makefile के लिए सुविधाजनक; YAML में tab नहीं चलते, इसलिए reverse mode 2 spaces पर लौट आता है।

संबंधित उपकरण