tigtools

JSON फ़ॉर्मैटर

JSON को सुंदर रूप में दिखाने या छोटा करने के लिए पेस्ट करें। अगर यह मान्य नहीं है, तो आपको पता चलेगा कि गड़बड़ी क्या है और कहाँ है। आपका डेटा ब्राउज़र में ही रहता है।

आपके ब्राउज़र में चलता है साइन अप की ज़रूरत नहीं

इंडेंटेशन

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

  1. अपने JSON को इनपुट बॉक्स में पेस्ट करें या “उदाहरण आज़माएँ” दबाएँ।
  2. इंडेंटेशन चुनें (2 स्पेस, 4 स्पेस या टैब) और चाहें तो कुंजियों को वर्णमाला के क्रम में सॉर्ट करें।
  3. दाईं ओर फ़ॉर्मैट किया गया नतीजा देखें। सभी खाली जगह हटाने के लिए Minify दबाएँ।
  4. अगर JSON में सिंटैक्स एरर हो, तो दिखाई गई लाइन और कॉलम पर उसे ठीक करें। फिर नतीजे को .json फ़ाइल के रूप में कॉपी या डाउनलोड करें।

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

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

जब इनपुट मान्य JSON नहीं होता, तो एक छोटा सख्त जाँचकर्ता पहली समस्या ढूँढ़कर उसकी लाइन और कॉलम बताता है। साथ ही, आम गलतियों का साफ़-साफ़ विवरण देता है: अंत में लगा कॉमा, सिंगल कोट, बिना कोट वाली कुंजियाँ, टिप्पणियाँ और NaN या undefined जैसी वैल्यू, जो JavaScript में होती हैं लेकिन JSON में नहीं। अलग-अलग ब्राउज़र अपने JSON एरर को अलग तरह से दिखाते हैं, इसलिए टूल ब्राउज़र के संदेश से जगह पढ़ने के बजाय खुद उसकी गणना करता है।

फ़ॉर्मैट दोबारा करने की सीमाएँ जानें। संख्याएँ डबल-प्रिसिज़न फ़्लोटिंग पॉइंट के रूप में रखी जाती हैं, इसलिए 9,007,199,254,740,991 (2^53 − 1) से बड़ी पूर्ण संख्याओं—जैसे कुछ डेटाबेस ID—की सटीकता खो जाती है: 9007199254740993, 9007199254740992 बन जाता है। ऐसी ID को स्ट्रिंग के रूप में रखें। अगर किसी ऑब्जेक्ट में एक ही कुंजी दो बार हो, तो केवल आख़िरी वैल्यू रखी जाती है। पूर्ण संख्या जैसी दिखने वाली कुंजियाँ ("1", "20") JavaScript में हमेशा बाकी कुंजियों से पहले रखी जाती हैं, चाहे आप उन्हें सॉर्ट करें या नहीं। कुछ मेगाबाइट तक का इनपुट ठीक से काम करता है; लगभग 300,000 अक्षरों से बड़े इनपुट पर लाइव फ़ॉर्मैटिंग रुक जाती है और आपको Format दबाना होता है, ताकि टाइप करते समय टूल तेज़ बना रहे।

उदाहरण

API रिस्पॉन्स पढ़ें

REST API से एक लंबी लाइन मिलती है, जैसे {"user":{"id":7,"tags":["a","b"]}}। इसे 2 स्पेस के साथ फ़ॉर्मैट करने पर हर कुंजी अपनी अलग लाइन पर आती है और tags ऐरे नेस्ट होकर दिखता है, जिससे इसकी संरचना एक नज़र में समझ आती है।

दो कॉन्फ़िगरेशन फ़ाइलों की तुलना करें

दो JSON कॉन्फ़िगरेशन में समान सेटिंग अलग-अलग क्रम में हैं। दोनों को “कुंजियाँ A–Z के क्रम में सॉर्ट करें” चालू करके फ़ॉर्मैट करें; अब आउटपुट एक-दूसरे के साथ मेल खाएँगे और टेक्स्ट diff में केवल असली अंतर दिखेंगे।

गलत कॉमा ढूँढ़ें

हाथ से संपादित package.json लोड नहीं हो रही। इसे पेस्ट करने पर लाइन 14, कॉलम 5 पर “आख़िरी कॉमा” दिखता है, जो आख़िरी dependency के बाद लगे कॉमा की ओर इशारा करता है।

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

फ़ॉर्मैट करने के बाद बड़ी संख्या क्यों बदल गई?

ब्राउज़र के JSON पार्सर संख्याओं को 64-बिट फ़्लोटिंग पॉइंट के रूप में रखते हैं। इसमें केवल 9,007,199,254,740,991 तक की पूर्ण संख्याएँ ही सटीक रूप से दर्शाई जा सकती हैं। इससे बड़ी पूर्ण संख्याएँ निकटतम दर्शाई जा सकने वाली वैल्यू में बदल जाती हैं। अगर आपके डेटा में 64-बिट ID हैं, तो उन्हें स्ट्रिंग के रूप में भेजें।

क्या यह टिप्पणियों या अंत में लगे कॉमा वाले JSON (JSON5, JSONC) को फ़ॉर्मैट कर सकता है?

नहीं। यह टूल JSON मानक (RFC 8259) का सख्ती से पालन करता है और टिप्पणियों व अंत में लगे कॉमा को उनकी जगह के साथ एरर के रूप में दिखाता है, ताकि आप उन्हें हटा सकें। ज़्यादातर प्रोग्रामिंग भाषाओं के JSON पार्सर भी ऐसा ही करते हैं।

क्या कुंजियाँ सॉर्ट करने से मेरा डेटा बदलता है?

नहीं। केवल ऑब्जेक्ट के अंदर की कुंजियों का क्रम बदलता है, वैल्यू नहीं। JSON की परिभाषा के अनुसार ऑब्जेक्ट में कुंजियों का क्रम तय नहीं होता, इसलिए नतीजा समतुल्य रहता है। ऐरे का क्रम कभी नहीं बदला जाता, क्योंकि उसमें क्रम मायने रखता है।

मैं कितनी बड़ी फ़ाइल फ़ॉर्मैट कर सकता हूँ?

मौजूदा डेस्कटॉप ब्राउज़र में कई मेगाबाइट तक की फ़ाइलें काम करती हैं। लगभग 300,000 अक्षरों से बड़े इनपुट पर, हर कीस्ट्रोक के बाद फ़ॉर्मैट करने के बजाय टूल आपके Format या Minify दबाने तक रुकता है। बहुत बड़ा आउटपुट फ़ोन पर टेक्स्ट बॉक्स में स्क्रॉल करने की गति धीमी कर सकता है।

क्या मेरा JSON कहीं अपलोड होता है?

नहीं। पार्सिंग और फ़ॉर्मैटिंग आपके ब्राउज़र में JavaScript से होती है। टेक्स्ट किसी सर्वर पर नहीं भेजा जाता और न ही स्टोर किया जाता है।

गोपनीयता

आपका JSON केवल आपके ब्राउज़र में पार्स और फ़ॉर्मैट किया जाता है। इसे अपलोड, लॉग या स्टोर नहीं किया जाता और न ही एनालिटिक्स में शामिल किया जाता है।