JSON Tree दर्शक

नीचे JSON डेटा पेस्ट करें और इसे रंगीन मानों के साथ एक इंटरैक्टिव, संकुचन योग्य पेड़ के रूप में देखें।

ट्री

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

  1. अपना JSON पेस्ट करें: इनपुट फ़ील्ड में कोई भी JSON स्ट्रिंग छोड़ें, ऑब्जेक्ट, ऐरे, नेस्टेड संरचना।
  2. ट्री अन्वेषण करें: JSON एक इंटरैक्टिव, संक्षिप्त करने योग्य ट्री के रूप में प्रदर्शित होता है। विस्तारित/संक्षिप्त करने के लिए नोड पर क्लिक करें।
  3. नेविगेट और निरीक्षण करें: शाखाओं का विस्तार करके विशिष्ट कुंजियाँ या मान खोजें। गहराई से नेस्टेड डेटा आसानी से सुलभ हो जाता है।

JSON ट्री व्यूअर क्यों इस्तेमाल करें?

API, कॉन्फ़िग फ़ाइलों और डेटाबेस से कच्चा 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 ठीक छह मान प्रकार परिभाषित करता है। और कुछ नहीं है।

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 है तो चिपकाने से पहले टिप्पणियाँ और अनुगामी अल्पविराम हटा दें।

जहाँ एक ट्री व्यूअर वास्तव में अपनी कमाई करता है

JSON के साथ काम करते समय आम गलतियाँ

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

यह व्यूअर कितनी बड़ी 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 में नेटवर्क टैब खोलें और एक नमूना चिपकाएँ: आप पार्सिंग और रेंडरिंग के दौरान शून्य आउटगोइंग अनुरोध देखेंगे।

संबंधित टूल

निःशुल्क JSON फॉर्मेटर और वैलिडेटर JSON पथ निकालने वाला JSON तुलना करें XML फॉर्मेटर