JSON क्या है?
JSON (JavaScript Object Notation) संरचित डेटा का टेक्स्ट फ़ॉर्मेट है जो ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, बूलियन और null से बनता है। इसे RFC 8259 और ECMA-404 परिभाषित करते हैं; यह भाषा-स्वतंत्र है और वेब API का डिफ़ॉल्ट फ़ॉर्मेट है क्योंकि यह कॉम्पैक्ट, पढ़ने योग्य और पार्स करने में आसान है।
JSON ट्री व्यूअर कैसे इस्तेमाल करें
- इनपुट क्षेत्र में JSON डॉक्यूमेंट पेस्ट करें।
- ट्री ब्राउज़ करें; शाखाएँ खोलने या बंद करने के लिए तीर पर क्लिक करें।
- किसी वैल्यू के पास बने पाथ बैज पर क्लिक करके उसका JSONPath क्लिपबोर्ड में कॉपी करें।
JSON ट्री व्यूअर की खूबियाँ
- हर नोड पर टाइप बैज और आइटम/की काउंट के साथ कोलैप्सिबल ट्री
- किसी भी नोड पर क्लिक करके उसका JSONPath कॉपी करें ($.users[0].email)
- सभी खोलें / सभी बंद करें के कंट्रोल
- ओवरव्यू आँकड़े: ऑब्जेक्ट, ऐरे, लीफ़ वैल्यू और अधिकतम डेप्थ
- पेस्ट या एडिट करते ही लाइव रेंडरिंग
- 500 से ज़्यादा एंट्री वाले कंटेनर को पेजिनेट करके बड़े डॉक्यूमेंट संभालता है
JSON ट्री व्यूअर का उदाहरण
नेस्टेड पेलोड को एक्सप्लोर करना
इनपुट:
{"order":{"id":1001,"items":[{"sku":"KB-100","qty":2}]}}आउटपुट:
$ {1 key}
order {2 keys}
id: 1001 (number)
items [1 item]
[0] {2 keys}
sku: "KB-100" (string)
qty: 2 (number)JSON ट्री व्यूअर के बारे में अक्सर पूछे जाने वाले सवाल
किसी वैल्यू का पाथ कैसे कॉपी करूँ?
हर नोड अपना JSONPath दिखाता है (उदाहरण के लिए $.users[0].email)। उसे क्लिपबोर्ड में कॉपी करने के लिए पाथ बैज पर क्लिक करें।
क्या मैं सब कुछ एक साथ बंद कर सकता हूँ?
हाँ — ट्री के ऊपर दिए "सभी खोलें / सभी बंद करें" बटन इस्तेमाल करें। दो स्तर से गहरे नोड शुरू में बंद रहते हैं ताकि बड़े डॉक्यूमेंट पढ़ने लायक बने रहें।
क्या डॉक्यूमेंट के साइज़ की कोई सीमा है?
2 MB तक के डॉक्यूमेंट समर्थित हैं। 500 से ज़्यादा एंट्री वाले कंटेनर पहले 500 दिखाते हैं ताकि पेज तेज़ बना रहे।
क्या यह रूट पर ऐरे के साथ काम करता है?
हाँ। ऐरे, ऑब्जेक्ट और यहाँ तक कि अकेली प्रिमिटिव वैल्यू भी रेंडर होती हैं, और हर नोड के पास आइटम काउंट तथा टाइप दिखते हैं।
तकनीकी नोट्स
पार्सिंग उसी parseJson helper से होती है जो JSON Formatter इस्तेमाल करता है: शुरुआत का UTF-8 BOM हटता है, फिर ब्राउज़र का native JSON.parse काम करता है, इसलिए ट्री दस्तावेज़ को वैसे ही दिखाता है जैसे JavaScript इंजन उसे रखता है। इसके दो नतीजे हैं: duplicate keys में सिर्फ़ आख़िरी वैल्यू बचती है, और 2^53 − 1 से बड़े integer गोल दिखते हैं — यह व्यूअर वह unsafe-integer जाँच नहीं चलाता जो JSON Validator करता है।
ट्री native <details> एलिमेंट से बनता है: root और सीधे children खुले शुरू होते हैं, गहरे नोड बंद, और Expand/Collapse all हर एलिमेंट टॉगल करते हैं। पाथ रेंडर करते समय बनते हैं — array index [0], identifier जैसी key .key, और बाक़ी हर key ["key"] बनती है, अंदरूनी कोट escape करके। हर container पहली 500 entries पर कटता है, और overview एक recursive walk से आता है जिसमें root की depth 0 है।
संदर्भ
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange FormatJSON का व्याकरण: ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, तीन लिटरल और इंटरचेंज एन्कोडिंग के रूप में UTF-8।
- ECMA-404: The JSON Data Interchange SyntaxEcma मानक के रूप में JSON सिंटैक्स, RFC 8259 के अनुरूप।
- Introducing JSONJSON का मूल एक-पृष्ठ विवरण, सिंटैक्स डायग्राम के साथ।