YAML और JSON कनवर्टर

YAML 1.2 के सीमित उपसमुच्चय और JSON को स्थानीय रूप से बदलें। संख्याओं के सटीक पाठरूप सुरक्षित रहते हैं और असमर्थित संरचनाएँ चुपचाप डेटा खोने के बजाय अस्वीकार की जाती हैं।

यह पृष्ठ वर्तमान दायरे में इस भाषा के उपलब्ध टूल दिखाता है। इसका अर्थ यह नहीं कि साइट के सभी टूल हर भाषा में अनूदित हैं।

प्रसंस्करण आपके ब्राउज़र में होता है; डेटा अपलोड नहीं होता और अपने आप सहेजा नहीं जाता। फ़ाइल पढ़ने के लिए अलग 5 सेकंड की समय सीमा है; उसके बाद रूपांतरण के लिए रद्द किया जा सकने वाला एक वर्कर चलता है, जिसकी समय सीमा भी 5 सेकंड है। लिंक नहीं खोले जाते और सामग्री निष्पादित नहीं होती।

UTF-8 में इनपुट अधिकतम 256 KiB और आउटपुट अधिकतम 2 MiB। गहराई 32 स्तर, प्रत्येक मैप में 500 जोड़े, 30 000 CST या AST नोड और 120 000 शाब्दिक इकाइयाँ। डिकोड की गई स्ट्रिंग: 65 536 UTF-16 इकाइयाँ; संख्या का पाठरूप: 1024 वर्ण। ये सीमाएँ ब्राउज़र की कुल मेमोरी पर लागू नहीं होतीं।

YAML 1.2 का केवल सीमित उपसमुच्चय समर्थित है: अद्वितीय स्ट्रिंग कुंजियाँ, अनुक्रम, मैप और JSON मान। एंकर परिभाषाएँ (anchors), एलियस संदर्भ (aliases), स्पष्ट टैग, निर्देश, मैप मर्ज (merge), कई दस्तावेज़, गैर-स्ट्रिंग कुंजियाँ, NaN और Infinity अस्वीकार किए जाते हैं। अनुक्रमों में [{a: b}] जैसे स्पष्ट मैप इस्तेमाल करें।

बड़ी, दशमलव और घातांक वाली JSON संख्याओं के पाठरूप, जिनमें -0 और 1e400 शामिल हैं, Number में बदले बिना सुरक्षित रहते हैं। समर्थित YAML संख्यात्मक रूपों का सामान्यीकरण पाठ के रूप में होता है; बिना चिह्न वाली हेक्साडेसिमल और ऑक्टल संख्याएँ BigInt से बदली जाती हैं। बिना उद्धरण वाले yes, on और तारीखें स्ट्रिंग रहती हैं; YAML 1.1 के नियम सक्रिय नहीं होते।

इस्तेमाल का तरीका

रूपांतरण की दिशा और इनपुट स्रोत चुनें। पाठ पेस्ट करें या स्थानीय UTF-8 फ़ाइल चुनें, फिर बदलें और पूर्वावलोकन तथा शैली न बचने की सूचना देखें। स्पष्ट क्रिया से पूरा परिणाम कॉपी करें या converted.json अथवा converted.yaml डाउनलोड करें। सीमा से बड़ा पाठ या न पढ़ी जा सकी फ़ाइल उसी इनपुट को ठीक करने तक अस्वीकृत रहती है; दूसरा विकल्प बदलने से पुराने मान पर रूपांतरण नहीं होता। रीडिंग और रूपांतरण रद्द किए जा सकते हैं; मूल फ़ाइल नहीं बदलती।

उदाहरण आज़माएँ

YAML में n: 9007199254740993 से बने JSON में वही सटीक संख्या रहती है। JSON {"n":1e400,"name":"हिन्दी"} से बना YAML, Infinity बनाए बिना 1e400 को रखता है। .5 का रूप 0.5 और 0o10 का रूप 8 होता है, जबकि yes और तारीख 2026-09-25 स्ट्रिंग रहती हैं।

समर्थन और सीमाएँ

मान, मैप और अनुक्रम का क्रम तथा JSON व्याकरण वाली संख्याओं के पाठरूप Number में बदले बिना रखे जाते हैं। समर्थित YAML संख्यात्मक रूपों का सामान्यीकरण पाठ के रूप में होता है; बिना चिह्न वाली हेक्साडेसिमल और ऑक्टल संख्याओं के लिए BigInt इस्तेमाल होता है। YAML 1.1 लागू नहीं होता और टिप्पणियाँ, शैली, उद्धरण तथा स्रोत के लाइन अंत सुरक्षित नहीं रहते। आउटपुट UTF-8 में, बिना BOM और अंतिम LF के साथ होता है। एलियस, एंकर, !!str सहित स्पष्ट टैग, निर्देश, कई दस्तावेज़, मैप मर्ज, गैर-स्ट्रिंग या दोहराई गई कुंजियाँ, NaN, Infinity और [a: b] जैसे संक्षिप्त फ्लो जोड़े अस्वीकार किए जाते हैं। स्पष्ट मैप इस्तेमाल करें। फ़ाइल में मान्य UTF-8 होना चाहिए; इनपुट का BOM रखा जाता है और YAML आरंभ में उसे स्वीकार करता है, लेकिन JSON अस्वीकार करता है। पूर्वावलोकन केवल पाठ है और संयुक्त वर्ण के बीच में समाप्त हो सकता है। क्लिपबोर्ड के लाइन अंत सिस्टम के अनुसार बदल सकते हैं। कुछ भी अपलोड, सहेजा या निष्पादित नहीं होता और लिंक नहीं खोले जाते।

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

क्या कनवर्टर पूरे YAML का समर्थन करता है या दस्तावेज़ अपने आप ठीक करता है?

नहीं। यह घोषित YAML 1.2 उपसमुच्चय को बदलता है जिसे JSON मानों में व्यक्त किया जा सकता है, और असमर्थित या सीमा से अधिक इनपुट अस्वीकार करता है। यह रूपांतरण सुरक्षा के लिए सामग्री साफ़ करना या डेटा स्कीमा की जाँच करना नहीं है। इससे यह गारंटी भी नहीं मिलती कि कोई दूसरा ऐप बड़ी संख्याओं को बिना पूर्णांकन पढ़ेगा। सीमित प्रसंस्करण ब्राउज़र की कुल मेमोरी की ऊपरी सीमा की गारंटी नहीं देता।

संबंधित टूल