JSON क्या है?
JSON (JavaScript Object Notation) संरचित डेटा का टेक्स्ट फ़ॉर्मेट है जो ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, बूलियन और null से बनता है। इसे RFC 8259 और ECMA-404 परिभाषित करते हैं; यह भाषा-स्वतंत्र है और वेब API का डिफ़ॉल्ट फ़ॉर्मेट है क्योंकि यह कॉम्पैक्ट, पढ़ने योग्य और पार्स करने में आसान है।
JSON फ़्लैटन / अनफ़्लैटन कैसे इस्तेमाल करें
- नेस्टेड JSON डॉक्यूमेंट (समतल करने के लिए) या समतल की/वैल्यू ऑब्जेक्ट (नेस्टेड बनाने के लिए) पेस्ट करें।
- डिलिमिटर और ऐरे इंडेक्स स्टाइल चुनें।
- Flatten या Unflatten पर क्लिक करें और आउटपुट कॉपी करें।
JSON फ़्लैटन / अनफ़्लैटन की खूबियाँ
- नेस्टेड ऑब्जेक्ट और ऐरे को एकल-स्तरीय पाथ कीज़ में समतल करता है
- डिलिमिटर (., /, _, __, :) और डॉट या ब्रैकेट ऐरे इंडेक्स का विकल्प
- खाली ऑब्जेक्ट और ऐरे सुरक्षित रखता है
- पाथ कीज़ को वापस नेस्टेड स्ट्रक्चर में बदलता है
- ऐसी टकराने वाली कीज़ पहचानता है जिन्हें नेस्ट नहीं किया जा सकता
- कीज़ की संख्या और पाथ डेप्थ के आँकड़े
JSON फ़्लैटन / अनफ़्लैटन का उदाहरण
यूज़र रिकॉर्ड को समतल करना
इनपुट:
{"user":{"name":"Layla","roles":["admin","editor"]},"active":true}आउटपुट:
{
"user.name": "Layla",
"user.roles.0": "admin",
"user.roles.1": "editor",
"active": true
}JSON फ़्लैटन / अनफ़्लैटन के बारे में अक्सर पूछे जाने वाले सवाल
समतल करने से क्या बनता है?
एक एकल-स्तरीय ऑब्जेक्ट जिसकी कीज़ पूरे पाथ होती हैं, जैसे user.address.city या user.roles.0। खाली ऑब्जेक्ट और ऐरे {} तथा [] के रूप में सुरक्षित रहते हैं, इसलिए कोई जानकारी नहीं खोती।
क्या मुझे ब्रैकेट शैली वाले ऐरे पाथ मिल सकते हैं?
हाँ — user.roles.0 के बजाय user.roles[0] पाने के लिए "Brackets" चुनें। नेस्टेड बनाते समय दोनों शैलियाँ समझी जाती हैं।
अलग डिलिमिटर की ज़रूरत कब पड़ेगी?
जब आपकी कीज़ में पहले से डॉट हों (डोमेन नाम, वर्ज़न नंबर) तो "__" या ":" इस्तेमाल करें ताकि पाथ स्पष्ट रहें, या पॉइंटर जैसी कीज़ के लिए "/" चुनें।
अनफ़्लैटन "conflict" एरर के साथ क्यों विफल होता है?
दो कीज़ आपस में असंगत स्ट्रक्चर बताती हैं, जैसे "a": 1 और "a.b": 2 — "a" एक साथ संख्या और ऑब्जेक्ट दोनों नहीं हो सकती। इनमें से एक को हटाएँ या नाम बदलें।
संदर्भ
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange FormatJSON का व्याकरण: ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, तीन लिटरल और इंटरचेंज एन्कोडिंग के रूप में UTF-8।
- ECMA-404: The JSON Data Interchange SyntaxEcma मानक के रूप में JSON सिंटैक्स, RFC 8259 के अनुरूप।
- Introducing JSONJSON का मूल एक-पृष्ठ विवरण, सिंटैक्स डायग्राम के साथ।