JSON फ़ॉर्मेटर और सत्यापक

पार्स / प्रीटी प्रिंट / मिनिफ़ाई / सत्यापन / एस्केप / अनएस्केप

रेट करने के लिए स्टार पर क्लिक करें
इनपुटनमूना
अक्षर: 0 | पंक्तियाँ: 1
आउटपुट
ट्रीटेक्स्ट
फ़ॉर्मेट किया गया परिणाम यहाँ दिखाई देगा...
अक्षर: 0 | पंक्तियाँ: 0

JSON फॉर्मैटर क्या है?

JSON फॉर्मैटर संपीड़ित JSON में इंडेंटेशन और लाइन ब्रेक जोड़कर उसे पढ़ने और एडिट करने योग्य बनाता है। चाहे API का लंबा रिस्पॉन्स हो, कॉन्फ़िगरेशन फ़ाइल का सघन डेटा हो, या लॉग में मिला JSON टुकड़ा हो—फॉर्मैट करने पर संरचना और हर फ़ील्ड स्पष्ट हो जाती है। फॉर्मैट करने के बाद अपने JSON कंप्रेसर का उपयोग करें ताकि स्पेस हट जाएं; इसे HTTP टेस्ट टूल के साथ जोड़कर रिक्वेस्ट भेजें और टाइमस्टैम्प कन्वर्टर से फ़ील्ड्स के अंदर के Unix समय देखें। आप Python के json.dumps(indent=2) या JavaScript के JSON.stringify(obj, null, 2) से लोकल भी फॉर्मैट कर सकते हैं, पर यह टूल बिना किसी सेटअप के सीधे ब्राउज़र में काम करता है।

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

API डिबगिंग: बैकएंड से मिला JSON रिस्पॉन्स अक्सर एक ही लाइन में संपीड़ित होता है। उसे यहाँ चिपकाएँ ताकि संरचना और मान साफ़ हों, फिर समस्या जल्दी पकड़ने के लिए HTTP टेस्ट टूल का उपयोग करें। कॉन्फ़िग एडिटिंग: एडिट करने से पहले package.json, tsconfig.json जैसी फ़ाइल्स को फॉर्मैट करें ताकि कॉमा छूटने या ब्रैकेट का मेल न बैठने जैसी ग़लतियाँ न रहें। लॉग एनालिसिस: लॉग में आए JSON टुकड़ों को फॉर्मैट कर असामान्य फ़ील्ड्स और एरर मैसेज जल्दी ढूँढें। डेटा माइग्रेशन: NoSQL से JSON एक्सपोर्ट करें, यहाँ फ़ील्ड की पूर्णता जाँचें, फिर JSON कंप्रेसर से कंप्रेस कर टारगेट सिस्टम में इम्पोर्ट करें।

इस टूल का उपयोग कैसे करें

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

कन्वर्शन टिप्स और तकनीकें

JSON को TypeScript / Java / Go में कैसे बदलें?

API इंटीग्रेशन में रिस्पॉन्स JSON को सीधे टाइप डेफिनिशन में मैप करने से हर फ़ील्ड हाथ से लिखने की मेहनत बचती है। तरीका: पहले JSON को यहाँ फॉर्मैट और वैध करें (ग़लत संरचना को टाइप में ले जाने से बचें), फिर फ़ील्ड मैप करें—TypeScript में स्ट्रिंग → string, नंबर → number, बूलियन → boolean, नेस्टेड ऑब्जेक्ट → interface, और ऐरे अपने एलिमेंट टाइप का होता है; Java POJO फ़ील्ड्स से और Go struct फ़ील्ड्स से मेल खाता है, पहला अक्षर कैपिटल कर एक्सपोर्ट करें। दो आम ग़लतियाँ: 16 अंक से बड़े इंटिजर TS की सुरक्षित रेंज से बाहर होते हैं, इसलिए टाइप string या bigint रखें; और API की ऑप्शनल फ़ील्ड्स को ऑप्शनल एट्रिब्यूट (?) से लें।

JSON को XML / YAML / CSV में कैसे बदलें?

चारों की अभिव्यक्ति शक्ति अलग है, इसलिए कन्वर्ट करने से पहले संरचना के अनुकूल होने की पुष्टि कर लें:

  • JSON → XML: की-वैल्यू पेयर को टैग और ऐरे को दोहराए गए टैग से मैप करें; XML में <, &, > को एंटिटी से एस्केप करें।
  • JSON → YAML: YAML 1.2 JSON का सुपरसेट है, इसलिए ज़्यादातर पार्सर JSON सीधे पढ़ लेते हैं; उल्टा कन्वर्ट करते समय ध्यान रखें कि YAML इंडेंटेशन पर निर्भर करता है।
  • JSON → CSV: यह केवल "ऑब्जेक्ट्स का ऐरे" वाली फ़्लैट संरचना के लिए ठीक है, की ही हेडर बनती है; नेस्टेड संरचना को पहले फ़्लैटन करें (जैसे {"a":{"b":1}} को a.b कॉलम में)।
  • कन्वर्शन से पहले और बाद में जाँच: कन्वर्ट से पहले यहाँ JSON वैध होने की पुष्टि करें और बाद में टारगेट फ़ॉर्मैट जाँचें ताकि एस्केप और प्रेसिजन बीच में न छूटें।

JSON की कुंजियाँ (keys) क्रम में कैसे लगाएँ?

कुंजियों का क्रम एक होने से API डॉक्यूमेंटेशन के उदाहरण साफ़ लगते हैं और बार-बार के रिस्पॉन्स का डिफ़ स्पष्ट होता है। JS में एक लाइन का रिकर्सिव सॉर्ट है: const sortKeys = o => Array.isArray(o) ? o.map(sortKeys) : Object.fromEntries(Object.keys(o).sort().map(k => [k, sortKeys(o[k])]))। ध्यान दें: JSON स्टैंडर्ड (RFC 8259) कुंजी क्रम की गारंटी नहीं देता; JS/Python 3.7+ पार्सर का इन्सर्ट ऑर्डर बनाए रखना सिर्फ इम्प्लीमेंटेशन व्यवहार है, सॉर्ट सिर्फ पठनीयता और तुलना के लिए है—बिज़नेस लॉजिक कुंजी क्रम पर निर्भर न करे।

फॉर्मैट करने के बाद लंबा नंबर आख़िर में 0 क्यों बन जाता है?

ज़्यादातर ऑनलाइन फॉर्मैटर (इस टूल का ट्री व्यू भी) JSON.parse पर आधारित हैं, जो नंबर को IEEE 754 डबल-प्रेसिशन फ्लोटिंग-पॉइंट से पार्स करता है। सुरक्षित इंटिजर की सीमा 253-1 (16 अंक, 9007199254740991) है। 17 या अधिक अंकों वाले नंबर—ऑर्डर ID, Snowflake ID, सोशल प्लैटफ़ॉर्म के यूज़र/वीडियो ID—फॉर्मैट के बाद चुपचाप 0 पर ख़त्म हो सकते हैं, कोई एरर नहीं आता और पकड़ना सबसे मुश्किल। जाँच: {"id":12345678901234567890} चिपकाकर फॉर्मैट करें तो री-क्रिएट होगा। बचाव: ट्रांसपोर्ट लेयर पर लंबे नंबर को स्ट्रिंग सीरियलाइज़ करें (जैसे Java का स्ट्रिंग सीरियलाइज़ेशन एनोटेशन, या JS की json-bigint लाइब्रेरी), या बिना नुकसान वाला पार्सर चुनें जो असली टेक्स्ट रखे। लंबे ID को स्ट्रिंग से भेजना इंडस्ट्री का आम तरीका है।

JSON की आम सिंटैक्स ग़लतियाँ

चिपकाने के बाद फॉर्मैट में एरर आए तो आम तौर पर नीचे के किसी जाल में फँसे हैं; यह टूल ग़लत जगह की लाइन और कॉलम ठीक बताता है, उसी अनुसार सुधारें:

  • की (key) में डबल कोट नहीं: {name: "x"} को {"name": "x"} लिखना चाहिए, स्टैंडर्ड JSON की कुंजी डबल-कोट स्ट्रिंग ही होनी चाहिए।
  • सिंगल कोट का उपयोग: स्ट्रिंग केवल डबल कोट से होती है, 'hello' को "hello" बदलें।
  • आख़िरी में एक्स्ट्रा कॉमा: आख़िरी एलिमेंट के बाद कॉमा नहीं हो सकती, जैसे [1, 2,] एरर देगा।
  • कमेंट लिखे: स्टैंडर्ड JSON // या /* */ कमेंट सपोर्ट नहीं करता; यह टूल पहले कमेंट हटाकर फॉर्मैट कर सकता है।
  • बूलियन/नल का केस: केवल छोटे true, false, null मान्य हैं।

JSON में चीनी अक्षर \uXXXX दिखें तो क्या करें?

चिपकाए गए JSON में चीनी अक्षर कभी-कभी \uXXXX (जैसे \u7b80\u7f8e असल में "简美") बन जाते हैं। यह गड़बड़ी नहीं, बल्कि Unicode एस्केप सीक्वेंस है—\u के बाद चार हेक्साडेसिमल अंक से एक अक्षर दिखाया जाता है। आम कारण: API ने ASCII एस्केप ज़बरदस्ती लगाया हो, या किसी भाषा में स्ट्रिंगिफ़ाई करने पर मिला हो।

वापस लाने का तरीका: यह टेक्स्ट टूल में चिपकाएँ और "फॉर्मैट" दबाएँ, टूल स्टैंडर्ड JSON.parse से \uXXXX को अपने आप चीनी अक्षर में बदल देगा; यदि उल्टा चाहिए (चीनी को \u एस्केप में बदलना ताकि पुराने सिस्टम से चले) तो यह टूल एस्केप भी करता है। उदाहरण:

  • {"name":"\u7b80\u7f8e\u5de5\u5177"} → फॉर्मैट के बाद {"name":"简美工具"} दिखता है
  • अगर बस \u अक्षरों की लंबी लाइन दिखे, तो ज़्यादातर पूरा टेक्स्ट दो बार एस्केप हुआ है; परत-दर-परत फॉर्मैट करें तो ठीक हो जाएगा।
  • चीनी "गड़बड़ी" डिबग करते समय पहले पक्का करें कि वह Unicode एस्केप (\uXXXX) है या असली एनकोडिंग एरर (जैसे UTF-8 को GBK समझ लिया), दोनों जैसे दिखते हैं पर कारण अलग है।

आधुनिक ब्राउज़र और ज़्यादातर भाषाएँ (जैसे JS का JSON.stringify) डिफ़ॉल्ट रूप से चीनी अक्षर रख लेते हैं, ज़बरदस्ती एस्केप नहीं करते; केवल जब दोनों तरफ ASCII-सेफ चाहिए तभी \u में बदलते हैं। यह टूल फॉर्मैट के बाद असली चीनी और \u एस्केप—दोनों रूप दिखा सकता है, अलग-अलग इंटरफ़ेस नियमों से जुड़ने में आसानी होती है।

JSON फॉर्मैटर के आम सवाल

क्या फॉर्मैट करने से डेटा बदलता है?

नहीं। JSON फॉर्मैटिंग सिर्फ इंडेंटेशन, लाइन ब्रेक और स्पेस एडजस्ट करती है, किसी की (key), वैल्यू या डेटा संरचना को नहीं बदलती, फॉर्मैट से पहले और बाद में डेटा का मतलब बिल्कुल वही रहता है।

क्या यह JSON फॉर्मैटर सुरक्षित है? क्या डेटा लीक होगा?

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

JSON फॉर्मैट और कंप्रेस में फ़र्क क्या है?

फॉर्मैट करने से इंडेंटेशन और लाइन ब्रेक जुड़ते हैं ताकि JSON पढ़ने में आसान हो। कंप्रेस करने से सारे स्पेस और लाइन ब्रेक हटकर एक लाइन का कॉम्पैक्ट JSON बनता है, जिससे फ़ाइल छोटी होकर भेजने में आसान लगे। यह टूल दोनों सपोर्ट करता है—इंडेंटेशन बदलें या कंप्रेस बटन दबाएँ।

वैलिडेटर किन एरर को बताता है?

आम एरर: ब्रैकेट या कोट का मेल न बैठना, कॉमा कम या एक्स्ट्रा होना, की बिना कोट के, कमेंट (JSON स्टैंडर्ड कमेंट नहीं मानता), और आख़िरी में एक्स्ट्रा कॉमा। यह टूल एरर की लाइन-कॉलम ठीक बताता है ताकि जल्दी ठीक कर सकें।

ट्री व्यू और टेक्स्ट व्यू में फ़र्क क्या है?

ट्री व्यू JSON को कोलैप्स होने वाले नोड्स में दिखाता है, जो नेस्टेड डेटा जल्दी देखने के लिए ठीक है। टेक्स्ट व्यू फॉर्मैट किया हुआ सादा टेक्स्ट दिखाता है, जो कॉपी-पेस्ट या लाइन-दर-लाइन तुलना के लिए बेहतर है। दोनों व्यू कभी भी बदल सकते हैं, और ट्री व्यू एक क्लिक से सब कोलैप्स/एक्सपांड करता है।

JSON और XML फॉर्मैटिंग में फ़र्क क्या है?

JSON हायरार्की दिखाने के लिए कर्ली ब्रैकेट {} इस्तेमाल करता है, XML टैग के नेस्टिंग से। JSON XML से ज़्यादा कॉम्पैक्ट और ट्रांसमिशन में तेज़ है, इसलिए आज के Web API का स्टैंडर्ड फॉर्मैट है। यह टूल JSON फॉर्मैट और वैलिडेशन पर ही है, कमेंट हटाने और एस्केप हैंडलिंग भी करता है, और XML की जगह कॉम्पैक्ट एक-लाइन फॉर्मैट में भी कंप्रेस कर सकता है।

बड़ी JSON फ़ाइल हैंग हो तो क्या करें?

अगर JSON फ़ाइल 1MB से बड़ी है, तो पहले देखें कि उसमें एक्स्ट्रा स्पेस या कमेंट तो नहीं। 500KB से छोटी JSON ब्राउज़र में आम तौर पर तुरंत फॉर्मैट हो जाती है। यह टूल पहले कंप्रेस फिर फॉर्मैट कर स्पीड बढ़ा सकता है। बहुत बड़ी JSON (जैसे DB एक्सपोर्ट) के लिए इनपुट टुकड़ों में दें या कमांड-लाइन टूल jq से प्री-प्रोसेस करें।

JSON ऐरे और ऑब्जेक्ट में फ़र्क क्या है, और जल्दी फॉर्मैट कैसे करें?

JSON ऑब्जेक्ट कर्ली ब्रैकेट {} से की-वैल्यू पेयर रखता है, की डबल-कोट स्ट्रिंग होनी चाहिए; JSON ऐरे स्क्वेयर ब्रैकेट [] से ऑर्डरड वैल्यू लिस्ट रखता है, जिसमें स्ट्रिंग, नंबर, बूलियन, ऑब्जेक्ट या ऐरे आ सकते हैं। यह टूल ऑब्जेक्ट और ऐरे दोनों को फॉर्मैट और ट्री में एक्सपांड करता है, नेस्टेड लेयर कोलैप्स कर देख सकते हैं, और ऐरे का हर एलिमेंट अलग लाइन में आता है ताकि संरचना आसानी से चेक हो।

JSON में चीनी अक्षर \uXXXX बन गए हों तो वापस कैसे लाएँ?

वह Unicode एस्केप सीक्वेंस है, जैसे "\u7b80\u7f8e" असल में "简美" है। यह गड़बड़ी नहीं, बल्कि \u के बाद चार हेक्साडेसिमल से चीनी अक्षर दिखाना है। यह टूल स्टैंडर्ड JSON.parse से उसे पार्स कर असली चीनी अक्षर अपने आप ला देता है; अगर बस \u अक्षरों की लंबी लाइन दिखे तो शायद दो बार एस्केप हुआ है, यहाँ चिपकाकर परत-दर-परत फॉर्मैट करें।

क्या फॉर्मैट के बाद चीनी अक्षर गड़बड़ होंगे? एस्केप चाहिए?

नहीं, गड़बड़ नहीं होंगे और हाथ से एस्केप करने की ज़रूरत नहीं। आधुनिक ब्राउज़र और ज़्यादातर भाषाएँ (जैसे JS का JSON.stringify) डिफ़ॉल्ट रूप से चीनी अक्षर वैसे ही रखती हैं और ज़बरदस्ती \uXXXX में नहीं भेजतीं; केवल जब रिसीवर साफ़ कहे कि ASCII-सेफ चाहिए तभी एस्केप करें। यह टूल दोनों रूप दिखाता है ताकि ज़रूरत के इंटरफ़ेस नियम से मेल खाए।

हज़ारों लाइन की बड़ी JSON में कोई फ़ील्ड जल्दी कैसे ढूँढें?

दो तरीके साथ में लें: पहले ट्री व्यू में लेयर कोलैप्स कर रेंज छोटी करें, या टेक्स्ट व्यू में Ctrl+F से फ़ील्ड नाम ढूँढें; पथ पता चल जाए तो JSONPath एक्सप्रेशन (जैसे $.store.book[0].title) बनाएँ और कोड या ब्राउज़र कंसोल में JSONPath लाइब्रेरी से वैल्यू निकालें। फॉर्मैट पहले करना बेहतर है क्योंकि कॉम्पैक्ट एक-लाइन JSON में आँख से फ़ील्ड ढूँढना लगभग नामुमकिन है।

क्या JSON को सीधे Excel या SQL में बदला जा सकता है?

"ऑब्जेक्ट्स का ऐरे" वाली JSON CSV/Excel के लिए ठीक है (की ही हेडर, हर ऑब्जेक्ट एक रो); SQL में बदलने का मतलब आम तौर पर JSON से CREATE TABLE या INSERT स्टेटमेंट बनाना है, जिसमें नेस्टेड संरचना पहले फ़्लैटन करनी पड़ती है। चाहे कोई भी कन्वर्शन हो, पहले यहाँ JSON फॉर्मैट और वैध करें और फ़ील्ड टाइप पक्का करें ताकि गंदा डेटा टेबल/DB में न जाए।