मुफ्त कनवर्टर

JSON फॉर्मेटर और वैलिडेटर

अपने ब्राउज़र में तुरंत JSON को फॉर्मेट और वैलिडेट करें। अपलोड की ज़रूरत नहीं — पूरी तरह निजी और मुफ़्त।

यहाँ JSON फ़ाइल खींचें और छोड़ें

.json फ़ाइलें समर्थित हैं। या ऊपर अपना JSON पेस्ट करें।

या

इस टूल के बारे में

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

यह फ़ॉर्मेटर यह पुष्टि करने के लिए इनपुट को JSON के रूप में पार्स करता है कि यह वैध है, फिर इसे लगातार इंडेंटेशन के साथ पुनः उत्सर्जित करता है। अमान्य इनपुट सिंटैक्स समस्या की ओर इशारा करते हुए त्रुटि उत्पन्न करता है। वैध इनपुट को पुन: स्वरूपित किया जाता है, भले ही स्रोत कितना भी सघन या अव्यवस्थित क्यों न हो। इंडेंटेशन डिफ़ॉल्ट रूप से दो स्थानों पर होता है, जो सबसे आम जावास्क्रिप्ट कन्वेंशन से मेल खाता है।

फ़ॉर्मेटर लघुकरण (उलटा ऑपरेशन) भी प्रदान करता है, जो सबसे छोटे वैध JSON का उत्पादन करने के लिए सभी अनावश्यक रिक्त स्थान को हटा देता है। न्यूनतम आउटपुट उत्पादन संचरण के लिए उपयोगी है; स्वरूपित आउटपुट विकास और डिबगिंग के लिए उपयोगी है।

JSON को फ़ॉर्मेट क्यों करें?

इंडेंटेशन के बिना गहराई से नेस्टेड JSON को पढ़ना अनिवार्य रूप से असंभव है - संरचना तकनीकी रूप से मौजूद है लेकिन अदृश्य है। यहां तक ​​कि मामूली जटिल JSON को भी फ़ॉर्मेटिंग से अत्यधिक लाभ होता है। कोड समीक्षक, एपीआई डिबगर्स और डेटा पेलोड को समझने की कोशिश करने वाले किसी भी व्यक्ति को यह देखने के लिए स्वरूपित JSON की आवश्यकता होती है कि वास्तव में वहां क्या है।

फ़ॉर्मेटिंग से त्रुटियां भी पकड़ में आती हैं. यदि JSON फ़ॉर्मेटिंग के दौरान पार्स करने में विफल रहता है, तो त्रुटि संदेश सिंटैक्स समस्या की सटीक स्थिति की पहचान करता है - अक्सर एक गायब अल्पविराम, एक अनउद्धृत कुंजी, या एक भटका हुआ अनुगामी अल्पविराम जिसे उत्पादक सिस्टम ध्वजांकित नहीं करता है। फ़ॉर्मेटर उपलब्ध सबसे सरल JSON सत्यापनकर्ता है।

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

JSON चिपकाएँ, फ़ॉर्मेट पर क्लिक करें।

  1. अपना JSON चिपकाएँ: कच्चे या कॉम्पैक्ट JSON को इनपुट क्षेत्र में चिपकाएँ। .json फ़ाइलों को ड्रैग-एंड-ड्रॉप भी काम करता है।
  2. इंडेंटेशन चुनें: डिफ़ॉल्ट 2 स्थान है. उन परियोजनाओं के लिए 4 स्थानों का उपयोग करें जो उस परंपरा का पालन करते हैं, या टैब का उपयोग करें यदि आपके डाउनस्ट्रीम टूलींग को उनकी आवश्यकता है।
  3. प्रारूप: वैधता की पुष्टि करने के लिए इनपुट को JSON.parse के माध्यम से पार्स किया जाता है, फिर JSON.stringify और चुने हुए इंडेंटेशन के साथ क्रमबद्ध किया जाता है। इनपुट में त्रुटियाँ समस्या स्थान की पहचान करने वाला एक पार्स त्रुटि संदेश उत्पन्न करती हैं।
  4. कॉपी करें या डाउनलोड करें: स्वरूपित JSON को क्लिपबोर्ड पर कॉपी करें या .json के रूप में सहेजें। आउटपुट संरचनात्मक रूप से इनपुट के समान है लेकिन सुसंगत रिक्त स्थान के साथ।

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

तकनीकी विवरण

फ़ॉर्मेटर JSON.parse और JSON.stringify का उपयोग करता है, प्रत्येक JavaScript रनटाइम शिप में यही जोड़ी होती है। पार्सिंग RFC 8259 (वर्तमान JSON युक्ति) का अनुसरण करती है, सख्त JSON को स्वीकार करती है लेकिन जावास्क्रिप्ट ऑब्जेक्ट शाब्दिक, टिप्पणियों, अनुगामी अल्पविराम और अन्य JSON5 एक्सटेंशन को अस्वीकार कर देती है।

JSON.stringify एक इंडेंट तर्क स्वीकार करता है: एक संख्या (रिक्त स्थान) या स्ट्रिंग (कस्टम इंडेंट कैरेक्टर, जैसे एक टैब)। फ़ॉर्मेटर दोनों विकल्पों को उजागर करता है। आउटपुट को ऑब्जेक्ट के लिए स्रोत क्रम में क्रमबद्ध किया गया है (चूंकि ES2015 ने सभी प्रमुख इंजनों में संपत्ति प्रविष्टि क्रम को संरक्षित किया है)।

किनारे के मामले: Number.MAX_SAFE_INTEGER से परे बड़ी संख्याएं पार्स किए जाने पर सटीकता खो देती हैं (एक ज्ञात JSON सीमा; 2^53 से अधिक आईडी के लिए स्ट्रिंग मान का उपयोग करें)। स्ट्रिंग्स में यूनिकोड एस्केप अक्षरशः संरक्षित हैं। प्रत्येक पंक्ति से अनुगामी रिक्त स्थान हटा दिया जाता है।

सर्वोत्तम प्रथाएँ

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

यह उपकरण किस प्रकार की JSON त्रुटियों का पता लगाता है?
उपकरण RFC 8259 JSON विनिर्देशन के अनुसार लापता अल्पविराम, बेजोड़ ब्रैकेट/ब्रेसिज़, अमान्य स्ट्रिंग एस्केपिंग, अनुगामी अल्पविराम, एकल-उद्धृत स्ट्रिंग और अन्य वाक्यविन्यास उल्लंघन का पता लगाता है।
क्या यह बहुत बड़ी JSON फ़ाइलों को संभाल सकता है?
हाँ। फ़ॉर्मेटर मूल जावास्क्रिप्ट पार्सिंग का उपयोग करके आपके ब्राउज़र में JSON को संसाधित करता है, इसलिए यह कई मेगाबाइट तक की फ़ाइलों को कुशलतापूर्वक संभालता है। अत्यधिक बड़ी फ़ाइलों (50एमबी+) के लिए, प्रसंस्करण समय आपके डिवाइस पर निर्भर करता है।
क्या यह टिप्पणियों के साथ JSON (JSONC) का समर्थन करता है?
मानक JSON टिप्पणियों की अनुमति नहीं देता. यदि आपके इनपुट में टिप्पणियाँ हैं, तो सत्यापनकर्ता उन्हें त्रुटियों के रूप में चिह्नित करेगा। JSONC समर्थन के लिए, फ़ॉर्मेटिंग से पहले टिप्पणियाँ हटाएँ।
क्या फ़ॉर्मेटिंग से मेरे डेटा मान बदल जाएंगे?
नहीं, फ़ॉर्मेटिंग केवल रिक्त स्थान और इंडेंटेशन को समायोजित करती है - आपके डेटा प्रकार, मान और संरचना बिल्कुल समान रहती हैं।
क्या JSON5 सुविधाएँ समर्थित हैं (टिप्पणियाँ, अनुवर्ती अल्पविराम)?
नहीं, फ़ॉर्मेटर आरएफसी 8259 का सख्ती से पालन करता है। JSON5 सुविधाएँ पार्स त्रुटियों का कारण बनती हैं। JSON5 के साथ काम करने के लिए, पहले JSON5 पार्सर का उपयोग करके मानक JSON में कनवर्ट करें।
क्या मेरा JSON किसी सर्वर पर अपलोड किया गया है?
नहीं, पार्सिंग और फ़ॉर्मेटिंग पूरी तरह से आपके ब्राउज़र में अंतर्निहित JSON फ़ंक्शंस का उपयोग करके होती है।
क्या बड़ी संख्याएँ सटीकता खो देंगी?
जावास्क्रिप्ट 64-बिट फ़्लोट के रूप में संख्याओं का प्रतिनिधित्व करता है, इसलिए 2^53 (लगभग 9 क्वाड्रिलियन) से ऊपर के पूर्णांक सटीकता खो देते हैं। आईडी या अन्य बड़े पूर्णांक मानों के लिए, उन्हें JSON में स्ट्रिंग के रूप में संग्रहीत करें।
क्या मैं कुंजियों को वर्णानुक्रम में क्रमबद्ध कर सकता हूँ?
JSON.stringify कुंजियाँ क्रमबद्ध नहीं करता है। स्ट्रिंग करने से पहले कुंजियों को वर्णानुक्रम में व्यवस्थित करने के लिए एक अलग सॉर्ट चरण (या सॉर्टिंग समर्थन वाला एक फ़ॉर्मेटर) का उपयोग करें।