सामग्री पर जाएँ

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

JSON चिपकाएँ और उसे 2, 4 या 8 स्पेस से प्रिटी-प्रिंट करें, एक पंक्ति में समेटें, या केवल जाँचें कि वह पार्स होता है। मान्य JSON रंग-कोडित लौटता है, पहले और बाद का आकार दिखाता हुआ; अमान्य JSON आपके ब्राउज़र का अपना त्रुटि-संदेश दिखाता है। मुफ़्त, बिना साइन-अप के, और जो आप चिपकाते हैं वह आपके ब्राउज़र से बाहर नहीं जाता।

0 पंक्ति · 0 बाइट

JSON फ़ॉर्मेटर का उपयोग कैसे करें

  1. 1. अपना JSON चिपकाएँ। एक साधारण मान से लेकर बड़े API रिस्पॉन्स तक कुछ भी। बक्सा टाइप करते समय पंक्तियाँ और बाइट गिनता है।
  2. 2. इंडेंट चुनें। 2, 4 या 8 स्पेस चुनें। यह सेटिंग केवल फ़ॉर्मेट पर लागू होती है।
  3. 3. एक क्रिया चुनें। फ़ॉर्मेट प्रिटी-प्रिंट करता है, मिनिफ़ाई हर वैकल्पिक स्पेस और लाइन-ब्रेक हटाता है, और केवल वैलिडेट करें सिंटैक्स जाँचता है और बिना आउटपुट के हरा या लाल फ़ैसला दिखाता है।
  4. 4. परिणाम पढ़ें। मान्य JSON रंग-कोडित दिखता है (कुंजियाँ बैंगनी, स्ट्रिंग हरी, संख्याएँ नीली, true और false नारंगी, null लाल), इनपुट आकार, आउटपुट आकार और प्रतिशत परिवर्तन के साथ। अमान्य JSON पार्सर का संदेश दिखाता है। आउटपुट कॉपी करें वही कॉपी करता है जो आप देखते हैं।

मान्य JSON में क्या गिना जाता है

यह टूल आपका टेक्स्ट JavaScript इंजन के सख़्त JSON पार्सर को देता है, इसलिए यह वही स्वीकार करता है जो फ़ॉर्मेट का मानक, RFC 8259 (ECMA-404 वाला वही व्याकरण), स्वीकार करता है — और उससे अधिक कुछ नहीं। यह JavaScript ऑब्जेक्ट लिटरल से भी सख़्त है, इसीलिए स्क्रिप्ट में चलने वाला कोड यहाँ अक्सर विफल होता है। आम कारण:

सामान्य कारण जिनसे JSON पार्स नहीं होता
गलतीउदाहरणसुधार
अंत में अतिरिक्त कॉमा{"a": 1,}अंतिम कॉमा हटाएँ।
सिंगल कोट{'a': 1}हर कुंजी और स्ट्रिंग के लिए डबल कोट का उपयोग करें।
बिना कोट की कुंजी{a: 1}उसे कोट करें: {"a": 1}।
टिप्पणी// note या /* note */JSON में टिप्पणियाँ नहीं होतीं; उन्हें हटाएँ।
शुरुआती शून्य या plus चिह्न007, +57 और 5 लिखें।
NaN, Infinity या undefined{"x": NaN}JSON में इनमें से कोई नहीं होता; null या स्ट्रिंग का उपयोग करें।
स्ट्रिंग के भीतर कच्चा लाइन-ब्रेककोट के भीतर एक नई पंक्तिउसे दो अक्षरों \n के रूप में लिखें।
छूटा हुआ कॉमा{"a": 1 "b": 2}सदस्यों को कॉमा से अलग करें।

अकेला 42, "text" या null भी मान्य है: RFC 7159 के बाद JSON टेक्स्ट कोई भी मान हो सकता है, केवल ऑब्जेक्ट या ऐरे नहीं। बड़े अक्षर वाले True या NULL नहीं — तीनों लिटरल छोटे अक्षरों में हैं।

फ़ॉर्मेटिंग क्या बदलती है

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

  • बड़े पूर्णांक अपनी सटीकता खोते हैं। JavaScript संख्याएँ 64-बिट फ़्लोट हैं, इसलिए 9,007,199,254,740,991 (253 − 1) से बड़े पूर्णांक गोल कर दिए जाते हैं। 9007199254740993 वापस 9007199254740992 आता है। यदि आपके ID इतने बड़े हैं, तो उन्हें स्ट्रिंग के रूप में रखें।
  • दोहराए गए कुंजी एक हो जाते हैं। RFC 8259 कहता है कि नाम चाहिए कि अद्वितीय हों, पर दोहराव वर्जित नहीं करता; यह टूल अंतिम मान रखता है और पहले वाले हटा देता है।
  • पूर्णांक-जैसी कुंजियाँ पहले आती हैं। JavaScript में "1" और "2" जैसी कुंजियाँ बढ़ते क्रम में बाकी कुंजियों से पहले सूचीबद्ध होती हैं, इसलिए {"b":1,"2":1,"1":1} वापस {"1":1,"2":1,"b":1} लिखा जाता है। बाकी कुंजियाँ अपना क्रम रखती हैं।
  • संख्याएँ और एस्केप फिर से लिखे जाते हैं। 1.50 बन जाता है 1.5, 1e2 बन जाता है 100, और \u00e9 बन जाता है é।

हल किया गया उदाहरण

इस 119-बाइट इनपुट को लें, जिसमें एक बड़ा ID, एक अंत का शून्य, एक एक्सपोनेंट और एक एस्केप है:

इनपुट

{"title":"APA Manual","year":2020,"tags":["style","7th"],"id":9007199254740993,"price":1.50,"x":1e2,"name":"caf\u00e9"}

फ़ॉर्मेट 2 स्पेस के साथ 156 बाइट लिखता है (+31%), हर सदस्य अलग पंक्ति में, "id": 9007199254740992, "price": 1.5, "x": 100 और "name": "café" के साथ। मिनिफ़ाई 114 बाइट लिखता है (-4%) एक पंक्ति में, उन्हीं परिवर्तनों के साथ। डेटा का बाकी कुछ नहीं बदलता। आकार UTF-8 बाइट में हैं, इसलिए é दो गिना जाता है।

आपको कौन-सा उपकरण चाहिए?

यह पृष्ठ JSON के लिए है। यदि आपका डेटा किसी दूसरे प्रारूप में है, तो एक संबंधित टूल काम आएगा: स्प्रेडशीट के लिए CSV से JSON, प्रस्तावित YAML to JSON Converter और XML to JSON Converter, XML दस्तावेज़ों के लिए XML फ़ॉर्मेटर, और मार्कअप के लिए HTML Formatter।

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

JSON फ़ॉर्मेटर क्या करता है?
यह कच्चे या मिनिफ़ाई किए गए JSON को लेता है और उचित इंडेंटेशन तथा लाइन-ब्रेक जोड़कर उसे मानव-पठनीय बनाता है। चूँकि इसे पहले पार्स करना पड़ता है, यह वैलिडेटर भी है: जो टेक्स्ट मान्य JSON नहीं है, वह आउटपुट के बजाय त्रुटि देता है।
मेरा JSON अमान्य क्यों बता रहा है?
आमतौर पर ऊपर की तालिका की गलतियों में से एक: अंत का अतिरिक्त कॉमा, सिंगल कोट, बिना कोट की कुंजी, टिप्पणी या छूटा हुआ कॉमा। संदेश आपके ब्राउज़र के अपने JSON पार्सर से आता है, इसलिए Chrome, Firefox और Safari में शब्द अलग होते हैं, और उसमें स्थिति हो भी सकती है और नहीं भी; जिस स्थान या उससे ठीक पहले वह संकेत करे, वहाँ समस्या देखें।
क्या मैं टिप्पणियों, JSON5 या JSONC वाला JSON फ़ॉर्मेट कर सकता हूँ?
नहीं। टिप्पणियाँ, अंत के कॉमा और सिंगल कोट JSON का हिस्सा नहीं हैं, और यह टूल सख़्त पार्सर इस्तेमाल करता है। पहले उन्हें हटाएँ, या अपने एडिटर में फ़ाइल को सादे JSON में बदलें।
फ़ॉर्मेट, मिनिफ़ाई और केवल वैलिडेट करें में क्या अंतर है?
फ़ॉर्मेट इंडेंटेशन और लाइन-ब्रेक जोड़ता है, मिनिफ़ाई सभी वैकल्पिक स्पेस हटाकर सबसे छोटा टेक्स्ट देता है, और केवल वैलिडेट करें सिंटैक्स जाँचता है और बिना आउटपुट के फ़ैसला दिखाता है। तीनों एक ही पार्सर इस्तेमाल करते हैं, इसलिए जो एक से पास होता है, वह सबसे पास होता है।
मेरे JSON की कोई संख्या क्यों बदल गई?
टूल संख्याओं को JavaScript फ़्लोट की तरह पढ़ता है और उन्हें JavaScript के सबसे छोटे रूप में वापस लिखता है। इससे 1.50 बनता है 1.5, और 1e2 बनता है 100, और 253 − 1 से बड़े पूर्णांक गोल होते हैं। यदि बहुत बड़े पहचानकर्ता बिल्कुल सही बचाने हैं, तो उन्हें स्ट्रिंग में रखें।
क्या मेरा JSON कहीं अपलोड होता है?
नहीं। पार्सिंग, फ़ॉर्मेटिंग और हाइलाइटिंग सब आपके ब्राउज़र में चलती है, और जो आप चिपकाते हैं वह CitationEasy या किसी और को नहीं भेजा जाता। साझा कंप्यूटर पर काम खत्म होने पर बक्सा साफ़ कर दें।
क्या मैं कुंजियों को क्रमबद्ध कर सकता हूँ या इंडेंटेशन के लिए टैब चुन सकता हूँ?
यहाँ नहीं। इंडेंट के विकल्प 2, 4 या 8 स्पेस हैं, और कुंजियाँ वही क्रम रखती हैं जो आपके इनपुट में था, सिवाय पूर्णांक-जैसी कुंजियों के, जो ऊपर बताए अनुसार पहले आती हैं।

संबंधित उपकरण

डेटा, मार्कअप और कोड में और