JSON व्यूअर
input.json
अपना JSON यहाँ पेस्ट करें
या कोई .json फ़ाइल यहाँ कहीं भी छोड़ दें
फ़ॉर्मैट किया गया आउटपुट यहाँ दिखेगा।
अनजाने पेलोड को पढ़ना
ट्री, फ़ॉर्मैट किए टेक्स्ट से बेहतर इसलिए है क्योंकि वह ढाँचा दिखाता है। इंडेंट किया टेक्स्ट बताता है कि डॉक्यूमेंट में क्या है; ट्री बताता है कि वह कैसे संगठित है — और किसी दूसरे के लिखे API से जवाब आने पर असली सवाल यही होता है।
पहली बार देखे गए डॉक्यूमेंट के लिए एक काम का क्रम:
- उसे पेस्ट करें। रूट अपने आप खुलता है, साथ ही छोटे चाइल्ड ऑब्जेक्ट भी, इसलिए ऊपरी ढाँचा बिना क्लिक दिख जाता है।
- स्टेटस बार पढ़ें। गहराई बताती है कि नेस्टिंग कितनी नीचे जाती है; कीज़ कुल और यूनिक दिखाती है, और दोनों में बड़ा फ़र्क़ हो तो आप दोहराए जा रहे रिकॉर्ड देख रहे हैं, चौड़े कॉन्फ़िग ऑब्जेक्ट नहीं।
- अगर रूट ऑब्जेक्ट्स का ऐरे है तो टेबल पर जाएँ। रिकॉर्ड पंक्तियों में तुलना करना बहुत आसान है।
- जिस फ़ील्ड की ज़रूरत है उसे खोजें, फिर उस पंक्ति पर पाथ कॉपी करके अपने कोड के लिए एक्सेसर पा लें।
हर पंक्ति क्या बताती है
- बंद कंटेनर के साथ गिनती दिखती है —
3 आइटमया5 कीज़— इसलिए खोलने से पहले पता चल जाता है कि ब्रांच खोलने लायक है या नहीं। - वैल्यू टाइप के हिसाब से रंगीन होती हैं और स्ट्रिंग अपने कोट रखती हैं।
"42"दिखने वाला नंबर असल में स्ट्रिंग है, और आमतौर पर यही वह बग होता है जिसे आप खोज रहे हैं। nullखाली सेल की जगह साफ़ लिखा जाता है, क्योंकि null होना और की का न होना दो अलग बातें हैं।- हर पंक्ति पर वैल्यू-कॉपी और पाथ-कॉपी बटन हैं। वैल्यू-कॉपी स्ट्रिंग के लिए सादा टेक्स्ट और कंटेनर के लिए फ़ॉर्मैट किया JSON देता है।
बड़े डॉक्यूमेंट तेज़ क्यों रहते हैं
व्यूअर DOM आलस से बनाता है। बंद नोड में कोई चाइल्ड एलिमेंट नहीं होता, और खोलने पर सिर्फ़ उसके सीधे चाइल्ड बनते हैं — बड़े ऐरे में एक बार में 200। इसलिए 20 MB के डॉक्यूमेंट की कीमत एक पार्स और कुछ पंक्तियाँ है, लाखों नोड नहीं जिन्हें ब्राउज़र पहले लेआउट करे।
खोलें ही एकमात्र भारी काम है, इसलिए वह 20,000 नोड के बाद रुक जाता है और बता देता है। पूरा डॉक्यूमेंट एक बार में पढ़ना हो तो फ़ॉर्मैट किया टेक्स्ट व्यू बेहतर है।
स्ट्रिंग के अंदर आया JSON पढ़ना
लॉग पाइपलाइन और मैसेज क्यू अक्सर JSON को JSON स्ट्रिंग के रूप में भेजते हैं, जो
"{\"id\":7,\"ok\":true}" जैसा दिखता है। उसे पेस्ट करें और
अनएस्केप दबाएँ: बाहरी स्ट्रिंग पार्स होती है, अंदर का डॉक्यूमेंट डिकोड होता है और ट्री
असली ढाँचा दिखा देता है। दो बार एनकोड हुए पेलोड के लिए बटन दो बार दबाएँ।
सामान्य प्रश्न
क्या खोज बंद नोड्स के अंदर के मैच भी ढूँढती है?
हाँ। खोज रेंडर हुए DOM की जगह पार्स किए डेटा स्ट्रक्चर पर चलती है, इसलिए बंद ब्रांच में बारह लेवल नीचे का मैच भी मिल जाता है — और ट्री उसे दिखाने के लिए हर ऊपरी नोड खोल देता है। DOM पर खोजने वाले व्यूअर ऐसे मैच चुपचाप छोड़ देते हैं।
पाथ कॉपी करने वाला बटन क्या देता है?
उस नोड तक पहुँचने वाला JSONPath, जैसे $.endpoints[1].p99_ms। यह jq के लिए वैध इनपुट है ($ हटा दें), ज़्यादातर JSONPath लाइब्रेरी के लिए भी, और सीधे कोड की प्रॉपर्टी एक्सेस से मेल खाता है।
लंबा ऐरे अपना कुछ हिस्सा ही क्यों दिखाता है?
ऐरे एक बार में 200 चाइल्ड रेंडर करते हैं, और अगला बैच लोड करने के लिए बटन मिलता है। शुरू में ही 1,00,000 पंक्तियों का DOM बनाना ही वह वजह है जिससे दूसरे व्यूअर अटक जाते हैं; इस तरीके में पहली पेंट तुरंत होती है और आप सिर्फ़ वहीं और डेटा खींचते हैं जहाँ देख रहे हैं।
क्या ट्री में कीबोर्ड से चला जा सकता है?
हाँ — ट्री ARIA ट्री पैटर्न लागू करता है। ऊपर-नीचे ऐरो दिखने वाली पंक्तियों के बीच ले जाते हैं, दायाँ खोलता है, बायाँ बंद करता है या पैरेंट पर जाता है, और Enter टॉगल करता है। Ctrl/⌘ + K सर्च बॉक्स पर फ़ोकस करता है।
बाकी टूलकिट
वही इंजन, वही प्राइवेसी — हर पेज पूरी तरह आपके ब्राउज़र में चलता है।