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

मुफ़्त YAML से JSON कनवर्टर

दोनों दिशाओं में YAML को JSON और JSON को YAML में बदलें। किसी भी प्रारूप में पेस्ट करें और तुरंत परिवर्तित आउटपुट प्राप्त करें - सर्वर अपलोड की आवश्यकता नहीं है।

लोड होने के बाद ऑफ़लाइन काम करता है
JSON आउटपुट
आउटपुट यहाँ दिखेगा…

सामान्य उपयोग

  • Kubernetes मैनिफेस्ट के लिए YAML को JSON में परिवर्तित करेंKubernetes YAML को JSON में परिवर्तित करें (या इसके विपरीत) टूलिंग, सत्यापन स्क्रिप्ट या API के माध्यम से सीधे आवेदन के लिए।
  • Docker Compose YAML / JSON रूपांतरणनिरीक्षण के लिए docker-compose.yml को JSON में परिवर्तित करें, या प्रोग्राम संपादन के बाद वापस YAML में बदलें।
  • CI/CD पाइपलाइन कॉन्फ़िग रूपांतरणGitHub Actions, GitLab CI, CircleCI और अन्य पाइपलाइन कॉन्फ़िग को YAML और JSON प्रारूपों के बीच परिवर्तित करें।
  • ऐप कॉन्फ़िगरेशन फाइल रूपांतरणऐप कॉन्फ़िग फाइलों को YAML और JSON के बीच परिवर्तित करें, जब फ्रेमवर्क स्विच करने या उपकरणों में कॉन्फ़िग साझा करते समय उपयोगी है।
  • OpenAPI / Swagger विनिर्देश रूपांतरणOpenAPI 3.x या Swagger 2.0 API विनिर्देशों को YAML और JSON प्रारूपों के बीच परिवर्तित करें। दोनों प्रारूप वैध और विनिमेय हैं।

यह कैसे काम करता है

दोनों दिशाओं की कन्वर्ज़न — YAML से JSON और JSON से YAML — पेज में बनाए एक हाथ से लिखे पार्सर और emitter का उपयोग करके पूरी तरह आपके ब्राउज़र में चलती हैं, बिना किसी थर्ड-पार्टी YAML लाइब्रेरी और सर्वर के। लॉजिक एक सिंगल TypeScript मॉड्यूल (lib/yamljson.ts) में रहता है जो mappings, sequences, scalars, कोट की स्ट्रिंग, और इनलाइन कमेंट हटाना हैंडल करता है।

  1. 1
    इनपुट लाइन-दर-लाइन पूर्व-प्रोसेस किया जाता है
    YAML इनपुट के लिए, पार्सर टेक्स्ट को लाइनों में विभाजित करता है, इनलाइन कमेंट हटाता है (स्ट्रिंग के अंदर # हटाने से बचने के लिए कोट स्टेट ट्रैक करते हुए), इंडेंटेशन डेप्थ मापता है, और खाली लाइनें छोड़ता है — किसी भी पार्सिंग शुरू होने से पहले टोकनों की एक संरचित सूची बनाते हुए।
  2. 2
    एक रिकर्सिव डिसेंट पार्सर डेटा ट्री बनाता है
    पार्सर संरचना तय करने के लिए इंडेंटेशन स्तर का उपयोग करते हुए टोकन सूची पर चलता है। यह sequence आइटम (- value), mapping कुंजियाँ (key: value), और नेस्टेड ब्लॉक पहचानता है। Scalars एक टाइप्ड coercion चरण से गुज़रते हैं जो null, बूलियन, इंटीजर (007 जैसी शुरुआती-शून्य वाली वैल्यू को चुपचाप डेटा दूषित होने से बचाने के लिए अस्वीकार करते हुए), और float हैंडल करता है — एक वैकल्पिक मोड के साथ जो yes, no, on, और off जैसे YAML 1.1 शब्दों को बूलियन में बदलने की बजाय स्ट्रिंग के रूप में रखता है।
  3. 3
    असमर्थित YAML फ़ीचर चिह्नित किए जाते हैं, चुपचाप छोड़े नहीं जाते
    आउटपुट भेजने से पहले, टूल anchors (&name), aliases (*name), merge keys (<<:), block scalars (| और >), multi-document मार्कर (---), और डुप्लिकेट mapping keys के लिए स्कैन करता है। इनमें से कोई भी सूक्ष्मता से ग़लत JSON बनाने की बजाय एक दिखाई देने वाली चेतावनी ट्रिगर करता है।
  4. 4
    JSON सीरियलाइज़ किया जाता है या YAML भेजा जाता है, फिर उपलब्ध कराया जाता है
    YAML→JSON के लिए, पार्स की वैल्यू आपकी चुनी इंडेंटेशन (2 स्पेस, 4 स्पेस, टैब, या मिनिफ़ाइड) के साथ JSON.stringify को दी जाती है। JSON→YAML के लिए, एक कस्टम emitter पार्स की JavaScript वैल्यू पर चलता है और इंडेंट की YAML बनाता है, स्ट्रिंग scalars को केवल ज़रूरत पड़ने पर कोट करता है (जैसे, ऐसी वैल्यू जिनमें :, # हो या जो reserved शब्दों जैसी दिखे)। टाइप करते ही आउटपुट तुरंत दिखता है और कॉपी या डाउनलोड किया जा सकता है।

संबंधित टूल

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