JSON Tree दर्शक
नीचे JSON डेटा पेस्ट करें और इसे रंगीन मानों के साथ एक इंटरैक्टिव, संकुचन योग्य पेड़ के रूप में देखें।
यह कैसे काम करता है
- अपना JSON पेस्ट करें: इनपुट फ़ील्ड में कोई भी JSON स्ट्रिंग छोड़ें, ऑब्जेक्ट, ऐरे, नेस्टेड संरचना।
- ट्री अन्वेषण करें: JSON एक इंटरैक्टिव, संक्षिप्त करने योग्य ट्री के रूप में प्रदर्शित होता है। विस्तारित/संक्षिप्त करने के लिए नोड पर क्लिक करें।
- नेविगेट और निरीक्षण करें: शाखाओं का विस्तार करके विशिष्ट कुंजियाँ या मान खोजें। गहराई से नेस्टेड डेटा आसानी से सुलभ हो जाता है।
JSON ट्री व्यूअर क्यों इस्तेमाल करें?
API, कॉन्फ़िग फ़ाइलों और डेटाबेस से कच्चा JSON गहरी नेस्टेड संरचनाओं में पढ़ना कुख्यात रूप से कठिन है।
विशेषताएँ
- इंटरैक्टिव ट्री: जिस डेटा के भाग पर ध्यान केंद्रित करना है, उस पर केंद्रित करने के लिए किसी भी शाखा को विस्तारित या संक्षिप्त करें।
- सिंटैक्स हाइलाइटिंग: कुंजियाँ, स्ट्रिंग्स, संख्याएँ, बूलियन और null मान तेज़ पहचान के लिए रंगीन होते हैं।
- गहरी नेस्टिंग समर्थन: मनमानी गहराई के नेस्टेड ऑब्जेक्ट और ऐरे संभालता है।
- त्रुटि पहचान: अमान्य JSON रेंडरिंग से पहले स्पष्ट त्रुटि संदेश के साथ रिपोर्ट की जाती है।
- ब्राउज़र-आधारित: सर्वर पर कुछ नहीं भेजा जाता, आपका JSON डेटा पूरी तरह आपके ब्राउज़र में रहता है।
अक्सर पूछे जाने वाले प्रश्न
क्या JSON इनपुट के लिए आकार सीमा है?
टूल कठोर सीमा नहीं लगाता। प्रदर्शन आपके ब्राउज़र और डिवाइस पर निर्भर करता है। बहुत बड़ी JSON फ़ाइलें धीमी हो सकती हैं।
क्या मैं ट्री व्यू में JSON संपादित कर सकता हूँ?
यह टूल JSON संरचना की दृश्यीकरण और अन्वेषण पर केंद्रित है। JSON संपादित करने के लिए, JSON फ़ॉर्मेटर टूल का उपयोग करें।
क्या यह टिप्पणियों के साथ JSON (JSONC) का समर्थन करता है?
मानक JSON टिप्पणियों की अनुमति नहीं देता, और अधिकांश पार्सर (यह टूल सहित) उन्हें त्रुटि के रूप में रिपोर्ट करते हैं। पहले उन्हें हटा दें।
JSON, वह डेटा प्रारूप जिसने जीत हासिल की
Douglas Crockford ने 2001 में json.org पर XML के एक हल्के विकल्प के रूप में JSON प्रकाशित किया, JavaScript के ऑब्जेक्ट लिटरल से सीधे सिंटैक्स खींचा। प्रारूप को पहली बार RFC 4627 (जुलाई 2006) में IETF इंटरनेट-ड्राफ्ट के रूप में मानकीकृत किया गया था, फिर RFC 7159 (मार्च 2014) के रूप में संशोधित किया गया, और अंततः RFC 8259 (दिसंबर 2017) में स्थापित किया गया, जो वर्तमान मानक है और ECMA-404 (1वां संस्करण अक्टूबर 2013, 2वां संस्करण दिसंबर 2017) के साथ संरेखित रखा गया है। RFC 8259 ने एक महत्वपूर्ण आवश्यकता जोड़ी: नेटवर्क-स्तरीय एन्कोडिंग UTF-8 होनी चाहिए। दो पूरक स्पेक्स पारिस्थितिकी तंत्र को पूरा करते हैं: RFC 6901 «JSON Pointer» (अप्रैल 2013) एक दस्तावेज़ के अंदर नोड्स को संबोधित करने के लिए /store/book/0/title सिंटैक्स को परिभाषित करता है, और RFC 6902 «JSON Patch» एक JSON दस्तावेज़ को परिभाषित करता है जो दूसरे JSON दस्तावेज़ पर लागू करने के लिए परिवर्तनों का वर्णन करता है। JSON Schema (वर्तमान IETF मसौदा 2020-12) सत्यापन जोड़ता है। बाकी सब कुछ इसके ऊपर बनाया गया, कॉन्फ़िगर फ़ाइल टिप्पणियों के लिए JSONC, ढीली सिंटैक्स के लिए JSON5, स्ट्रीमिंग के लिए NDJSON, बाद में आया।
छह JSON मान प्रकार (और क्या गायब है)
RFC 8259 §3 ठीक छह मान प्रकार परिभाषित करता है। और कुछ नहीं है।
- ऑब्जेक्ट: घुंघराले कोष्ठक द्वारा सीमांकित नाम-मान जोड़ी का अनियंत्रित सेट। कुंजियाँ हमेशा स्ट्रिंग होती हैं।
- सरणी: वर्ग कोष्ठक द्वारा सीमांकित मानों की क्रमबद्ध सूची। मिश्रित प्रकार हो सकते हैं।
- स्ट्रिंग: डबल कोटेशन में Unicode वर्ण। सिंगल कोट कानूनी JSON नहीं हैं।
- संख्या: IEEE 754 डबल-प्रिसिजन फ्लोटिंग पॉइंट। स्पेक मनमाने सटीकता की गारंटी नहीं देता;
Number.MAX_SAFE_INTEGER= 2⁵³ − 1 = 9 007 199 254 740 991 से अधिक संख्याएँ पार्स होने पर सटीकता खो देती हैं। true/false: बूलियन लिटरल्स, लोअरकेस, बिना कोट के।null: null लिटरल, लोअरकेस, बिना कोट के।nullमान वाली कुंजी अनुपस्थित कुंजी से अलग है।
JSON में क्या नहीं है: दिनांक प्रकार (परंपरा समय क्षेत्र के साथ ISO 8601 स्ट्रिंग है), टिप्पणियाँ (अलग मेटाडेटा फ़ील्ड का उपयोग करें), अनुगामी अल्पविराम, सिंगल-कोटेड स्ट्रिंग्स, हेक्साडेसिमल संख्याएँ, undefined, NaN, या Infinity। इनमें से कोई भी JSON.parse को SyntaxError फेंकने पर मजबूर करेगा।
सख्त JSON, JSONC, JSON5: कौन कौन है
सख्त JSON (RFC 8259) यही है जो यह व्यूअर स्वीकार करता है: कोई टिप्पणी नहीं, कोई अनुगामी अल्पविराम नहीं, डबल-कोटेड कुंजियाँ, डबल-कोटेड स्ट्रिंग्स। JSONC VS Code में भेजी गई Microsoft की एक प्रथा है जो // लाइन टिप्पणियों और /* ... */ ब्लॉक टिप्पणियों की अनुमति देती है, बाकी सब कुछ सख्त रखती है; आप इसे tsconfig.json, .vscode/settings.json और jsonc-parser npm पैकेज में देखते हैं। JSON5 (2017, https://json5.org) एक सुपरसेट है जो सिंगल-कोटेड स्ट्रिंग्स, बिना कोट वाली कुंजियाँ, अनुगामी अल्पविराम, हेक्साडेसिमल संख्याएँ, IEEE 754 विशेष मान (NaN, Infinity), और लाइन और ब्लॉक दोनों टिप्पणियाँ जोड़ता है; json5 npm पैकेज में लगभग 10 मिलियन साप्ताहिक डाउनलोड हैं। NDJSON / JSON Lines (https://jsonlines.org) एक स्ट्रीमिंग संस्करण है जहाँ प्रत्येक लाइन एक स्वतंत्र JSON दस्तावेज़ है, जिसका उपयोग लॉग शिपर्स और बिग-डेटा अंतर्ग्रहण पाइपलाइनों द्वारा किया जाता है। यदि आपका स्रोत JSONC या JSON5 है तो चिपकाने से पहले टिप्पणियाँ और अनुगामी अल्पविराम हटा दें।
जहाँ एक ट्री व्यूअर वास्तव में अपनी कमाई करता है
- API प्रतिक्रिया निरीक्षण। Stripe, GitHub, Slack, Twilio: हर आधुनिक API नेस्टेड JSON लौटाता है। ट्री व्यूअर में चिपकाने से आकार स्पष्ट हो जाता है।
- कॉन्फ़िगरेशन फ़ाइलें।
package.json,tsconfig.json,composer.json,kubeconfig, और क्लाउड-प्रदाता JSON कॉन्फ़िग की लंबी पूंछ सभी ट्री के रूप में ऑडिट करना आसान हो जाता है। - डेटाबेस निर्यात निरीक्षण। MongoDB
find()आउटपुट, PostgreSQLrow_to_jsonपंक्तियाँ, ElasticSearch हिट सूचियाँ। - स्कीमा खोज। जब एक API का कोई दस्तावेज़ नहीं है, तो ट्री व्यूअर ही दस्तावेज़ है।
- डिफ़ तैयारी। दो फ़ाइलों के बीच
json-diffयाjqचलाने से पहले, स्पष्ट अंतरों को मैन्युअल रूप से देखने के लिए प्रत्येक को व्यूअर में निरीक्षण करें। - Webhook पेलोड निरीक्षण। Stripe, GitHub, SendGrid, और इसी तरह की सेवाएँ सभी JSON webhooks भेजती हैं। व्यूअर में पेलोड को चिपकाना यह सत्यापित करने का सबसे तेज़ तरीका है कि आपका एंडपॉइंट क्या प्राप्त करेगा।
- नमूना डेटा शिल्प। JSON टाइप करके एक टेस्ट फिक्सचर बनाएँ और देखें कि ट्री इंक्रीमेंटली अपडेट हो रहा है; फ़ाइल को सहेजने से पहले गायब घुंघराले कोष्ठक पकड़ता है।
JSON के साथ काम करते समय आम गलतियाँ
- अनुगामी अल्पविराम।
{"a": 1,}कानूनी JavaScript है लेकिन अवैध JSON है।JSON.parseSyntaxError: Unexpected token '}'फेंकता है। उन्हें हटा दें या JSON5 पर स्विच करें। - टिप्पणियाँ।
// ऐसेया/* ऐसे */JavaScript और JSONC में मान्य हैं लेकिन सख्त JSON में नहीं। - बड़े-पूर्णांक सटीकता हानि। Twitter और Stripe ID 2⁵³ से अधिक हो सकती हैं;
JSON.parse("9007199254740993")9007199254740992लौटाता है। यदि सटीकता मायने रखती है, तो उन्हें स्ट्रिंग के रूप में प्राप्त करें। nullऔर अनुपस्थित को भ्रमित करना।{"foo": null}मेंfoonull के रूप में परिभाषित है;{}मेंfooअपरिभाषित है। यह अंतर API अनुबंधों और डेटाबेस NULL संभाल के लिए मायने रखता है।- डुप्लिकेट कुंजियाँ। RFC 8259 कहता है कि व्यवहार अपरिभाषित है; व्यवहार में प्रत्येक JS इंजन अंतिम मान रखता है।
{"a": 1, "a": 2}{a: 2}के रूप में पार्स करता है। - परिपत्र संदर्भ।
JSON.stringifyTypeError: Converting circular structure to JSONफेंकता है। चक्रों को सपाट करें, एक रिप्लेसर का उपयोग करें, याflattedजैसी लाइब्रेरी का उपयोग करें। - समय क्षेत्र के बिना दिनांक स्ट्रिंग।
"2026-05-12"अस्पष्ट है;"2026-05-12T18:30:00Z"UTC में स्पष्ट ISO 8601 है। हमेशा ऑफ़सेट शामिल करें।
अधिक अक्सर पूछे जाने वाले प्रश्न
यह व्यूअर कितनी बड़ी JSON फ़ाइल को संभाल सकता है?
V8 में JSON.parse के साथ 1 MB पार्स करने में लगभग 10 ms लगते हैं। 100,000 ढहाए गए DOM नोड्स को रेंडर करने से ब्राउज़र कई सेकंड के लिए जम सकता है। व्यवहार में, यह व्यूअर लगभग 5 MB तक आरामदायक है; उसके बाद, रेंडर के दौरान ध्यान देने योग्य अंतराल की उम्मीद करें। बड़े दस्तावेज़ों के लिए, Web Worker में stream-json जैसे स्ट्रीमिंग पार्सर का उपयोग करें, या इनपुट को टुकड़ों में पेज करें।
मेरी बड़ी पूर्णांक गलत क्यों वापस आ रही है?
JavaScript नंबर IEEE 754 डबल-प्रिसिजन फ्लोट हैं। 2⁵³ − 1 = 9 007 199 254 740 991 तक के पूर्णांक एक राउंड-ट्रिप को ठीक से जीवित रखते हैं; उसके बाद, सटीकता खो जाती है। Twitter snowflake ID (64-बिट), Stripe ग्राहक ID, ब्लॉकचेन लेनदेन ID, और कई डेटाबेस सरोगेट कुंजियाँ इस सीमा से अधिक हैं। JSON.parse चुपचाप काट देगा। फिक्स या तो ID को स्ट्रिंग के रूप में प्राप्त करना है (अधिकांश आधुनिक API करते हैं) या BigInt का समर्थन करने वाली लाइब्रेरी के साथ पार्स करना है।
JSON Pointer क्या है, और मैं इसका उपयोग कहाँ करूँगा?
RFC 6901 (अप्रैल 2013) JSON दस्तावेज़ के अंदर नोड्स को संबोधित करने के लिए एक पथ सिंटैक्स को परिभाषित करता है: /store/book/0/title स्टोर सरणी में पहली पुस्तक का शीर्षक चुनता है। JSON Pointer JSON Patch (RFC 6902) की नींव है, जो दस्तावेज़ डेल्टा को पॉइंटर-और-ऑपरेशन जोड़ी के सरणी के रूप में व्यक्त करता है। Kubernetes API सर्वर इंक्रीमेंटल अपडेट के लिए JSON Patch का उपयोग करता है; GitHub का REST API और कई अन्य सिस्टम भी।
क्या इस व्यूअर में NDJSON / JSON Lines काम करता है?
नहीं। NDJSON प्रति पंक्ति एक स्वतंत्र JSON मान है, बिना कोई संलग्न सरणी। पूरी फ़ाइल पर JSON.parse फेंकता है क्योंकि दूसरी पंक्ति वहाँ शुरू होती है जहाँ पहली वस्तु समाप्त होती है। पूरी सामग्री को [ और ] में लपेटें और वस्तुओं के बीच प्रत्येक नई पंक्ति को अल्पविराम से बदलें, या एक समय में एक पंक्ति चिपकाएँ, या एक समर्पित NDJSON व्यूअर का उपयोग करें।
क्या मेरा JSON कहीं भेजा जाता है?
नहीं। JSON.parse आपके ब्राउज़र के JavaScript इंजन में चलता है, ट्री स्थानीय रूप से DOM नोड्स के रूप में प्रस्तुत किया जाता है, और आपके डेटा की कोई प्रति नेटवर्क पर नहीं भेजी जाती है। यह रहस्यों, ग्राहक डेटा या PII के साथ API प्रतिक्रियाओं के लिए सुरक्षित है। DevTools में नेटवर्क टैब खोलें और एक नमूना चिपकाएँ: आप पार्सिंग और रेंडरिंग के दौरान शून्य आउटगोइंग अनुरोध देखेंगे।