🔧Toolify

JSON ↔ YAML कनवर्टर — द्विदिशीय

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

tools.json-to-yaml-converter.label.json
tools.json-to-yaml-converter.label.yaml

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

JSON और YAML का इतिहास और उपयोग

JSON (JavaScript Object Notation) को Douglas Crockford ने 2000 के दशक की शुरुआत में JavaScript ऑब्जेक्ट लिटरल सिंटैक्स से प्रेरित एक हल्के डेटा एक्सचेंज फॉर्मेट के रूप में पेश किया था। इसकी सख्त व्याकरण — डबल कोट्स, कोई ट्रेलिंग कॉमा नहीं, कोई टिप्पणी नहीं — इसे स्पष्ट और किसी भी भाषा में पार्स करने योग्य बनाती है। JSON ने अपनी संक्षिप्तता के कारण Web API में XML की जगह ले ली।

YAML (YAML Ain't Markup Language) को 2001 में Clark Evans और Ingy döt Net ने मानव-अनुकूल बनाने के लक्ष्य से बनाया था। YAML 1.2 तकनीकी रूप से JSON का सुपरसेट है — हर वैध JSON दस्तावेज़ वैध YAML है — लेकिन YAML में इंडेंटेशन-आधारित संरचना, टिप्पणियाँ, मल्टी-लाइन स्ट्रिंग्स और टाइप इनफेरेंस शामिल हैं, जो इसे मैन्युअल रूप से संपादित कॉन्फिग फाइलों के लिए उपयुक्त बनाते हैं।

JSON बनाम YAML — कब क्या उपयोग करें

JSON तब उत्कृष्ट है जब मशीनें डेटा पढ़ती हैं: REST API, डेटाबेस रिकॉर्ड, सेवाओं के बीच संचार और localStorage। इसकी सरलता का मतलब है कि लगभग हर भाषा में एक बिल्ट-इन JSON पार्सर है, और सख्त सिंटैक्स नियम अस्पष्टता को दूर करते हैं।

YAML मानवों द्वारा संपादित कॉन्फिग फाइलों में चमकता है: Docker Compose, Kubernetes मैनिफेस्ट, GitHub Actions वर्कफ्लो और Ansible प्लेबुक डिफ़ॉल्ट रूप से YAML का उपयोग करते हैं। टिप्पणियाँ इनलाइन डॉक्यूमेंटेशन की अनुमति देती हैं, और इंडेंटेशन-आधारित संरचना कॉन्फिग फाइलों को अधिक पठनीय बनाती है।

रूपांतरण में सामान्य समस्याएं

YAML की इंडेंटेशन संवेदनशीलता सबसे सामान्य त्रुटि का स्रोत है। JSON के ब्रेसेज़ के विपरीत, एक गलत जगह का स्पेस संरचना बदल देता है। YAML स्वचालित टाइप इनफेरेंस भी करता है: bare yes, boolean true बन जाता है, और 0755 को ऑक्टल नंबर के रूप में पार्स किया जा सकता है। यह कनवर्टर उन स्ट्रिंग्स को कोट्स में लपेटता है जिन्हें गलत समझा जा सकता है।

विशेष अक्षर भी एक चुनौती हैं। कोलन के बाद स्पेस (: ), हैश (#) और शुरुआत में विशेष अक्षरों को YAML में कोट्स में रखना होता है। यह कनवर्टर इन मामलों को स्वचालित रूप से संभालता है, लेकिन एंकर, एलियास और मल्टी-लाइन ब्लॉक स्केलर जैसी उन्नत YAML सुविधाएं समर्थित नहीं हैं।

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

क्या YAML, JSON का सुपरसेट है?

हां। YAML 1.2, JSON का एक सख्त सुपरसेट है, जिसका अर्थ है कि हर वैध JSON दस्तावेज़ वैध YAML है। इसका उल्टा हमेशा सच नहीं है: YAML की टिप्पणियाँ, एंकर और ब्लॉक स्केलर JSON में मौजूद नहीं हैं।

YAML मुख्य रूप से किस लिए उपयोग होता है?

YAML कॉन्फिग फाइलों में सबसे अधिक उपयोग होता है: Docker Compose, Kubernetes मैनिफेस्ट, GitHub Actions, Ansible प्लेबुक। इसकी पठनीय शैली उन फाइलों के लिए उपयुक्त है जिन्हें डेवलपर्स मैन्युअल रूप से संपादित करते हैं।

कॉन्फिग फाइलों के लिए JSON या YAML कौन बेहतर है?

मनुष्यों द्वारा संपादित कॉन्फिग के लिए YAML आमतौर पर जीतता है क्योंकि यह टिप्पणियों का समर्थन करता है और कम शोरगुल वाला दिखता है। मशीन-जनित या मशीन-उपभोग कॉन्फिग के लिए JSON बेहतर है। कई टूल (ESLint, Prettier, tsconfig) दोनों को स्वीकार करते हैं।

YAML विशेष अक्षरों को कैसे संभालता है?

कोलन के बाद स्पेस, आगे आने वाले विशेष अक्षर ({, [, #), या बूलियन/संख्या जैसी दिखने वाली स्ट्रिंग्स को YAML में कोट्स में रखना होता है। सिंगल कोट्स सभी एस्केपिंग बंद कर देते हैं; डबल कोट्स JSON जैसे बैकस्लैश एस्केप उपयोग करते हैं। यह कनवर्टर आवश्यकतानुसार कोट्स जोड़ता है।

क्या JSON से YAML में रूपांतरण बिना डेटा हानि के होता है?

JSON द्वारा समर्थित प्रकारों (स्ट्रिंग्स, संख्याएं, बूलियन, null, ऑब्जेक्ट, एरे) के लिए रूपांतरण बिना हानि के है। YAML के टाइप इनफेरेंस के कारण डेटा बदलने से बचाने के लिए, यह कनवर्टर गलत समझी जाने वाली स्ट्रिंग्स को कोट्स में लपेटता है।

Python में YAML को JSON में कैसे बदलें?

PyYAML लाइब्रेरी का उपयोग करें: import yaml, json; data = yaml.safe_load(open('file.yaml')); print(json.dumps(data, indent=2)). safe_load फ़ंक्शन मनमाने YAML टैग को एक्ज़ीक्यूट करने से बचता है।

Node.js में JSON को YAML में कैसे बदलें?

js-yaml पैकेज का उपयोग करें: const yaml = require('js-yaml'); const obj = JSON.parse(fs.readFileSync('file.json')); console.log(yaml.dump(obj)). बिना निर्भरता के, YAML सीरियलाइज़र मैन्युअल रूप से लिखें — जैसा यह कनवर्टर करता है।

कौन सी YAML सुविधाएं समर्थित नहीं हैं?

यह कनवर्टर जानबूझकर उन्नत YAML सुविधाओं को छोड़ता है: एंकर (&anchor), एलियास (*alias), टाइप टैग (!!int), मल्टी-लाइन ब्लॉक स्केलर (| और >), दस्तावेज़ विभाजक (---). इनके लिए एक पूर्ण YAML लाइब्रेरी का उपयोग करें।

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

अंतिम अपडेट:

हमारे AI प्रॉम्प्ट आज़माएं →