JSON

JSON Path Extractor / Flatten

नेस्टेड JSON को "पाथ: वैल्यू" की फ़्लैट लिस्ट में बदलना (Flatten) और वापस नेस्टेड स्ट्रक्चर में जोड़ना (Unflatten)। पाथ नोटेशन वही है जो JSONPath/JSON Diff में है: store.book[0].price।

Deeply nested JSON is hard to compare or iterate over programmatically. Flatten unrolls such a structure into a flat list of "path: value" pairs (e.g. store.book[0].price: 12.99), and Unflatten rebuilds it.

How to use it

Common uses

Things to keep in mind

Array index notation varies between libraries — this tool uses items[0], though some write items.0 without brackets.

Unflatten requires that paths don't conflict with each other (e.g. one and one.two at the same time) — otherwise the structure can't be unambiguously rebuilt.

इस टूल के बारे में लेख: JSON Flatten: नेस्टेड संरचना को समतल सूची में बदलना

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

JSON ऑब्जेक्ट को "फ़्लैटन" करना वास्तव में क्या करता है?

यह नेस्टेड ऑब्जेक्ट्स और ऐरे को डॉट या ब्रैकेट नोटेशन कीज़ (जैसे user.address.city या items[0].id) वाले सिंगल-लेवल ऑब्जेक्ट में बदल देता है, जिससे गहराई से नेस्टेड डेटा को फ्लैट टेबल के रूप में पढ़ना या स्प्रेडशीट टूल्स में इम्पोर्ट करना आसान हो जाता है।

क्या फ़्लैटन किए गए JSON को वापस उसके मूल नेस्टेड रूप में बदला जा सकता है?

हां, जब तक की नोटेशन सुसंगत है — प्रक्रिया को उलटने से हर की पाथ को वापस ऑब्जेक्ट्स और ऐरे में विभाजित करके मूल नेस्टेड संरचना पुनर्निर्मित होती है।

क्या फ़्लैटनिंग मूल JSON से कोई जानकारी खो देती है?

नहीं। हर वैल्यू सुरक्षित रहती है; केवल संरचना बदलती है, क्योंकि हर अनूठा नेस्टेड पाथ अपनी खुद की फ्लैट की बन जाता है।

अगर असली कुंजी में खुद एक डॉट हो तो क्या होगा?

यह एक अस्पष्ट स्थिति है: पाथ user.name का मतलब नेस्टेड ऑब्जेक्ट {"user": {"name": ...}} भी हो सकता है और फ्लैट कुंजी {"user.name": ...} भी। डॉट नोटेशन फ़ॉर्मेट इनमें फ़र्क़ नहीं कर पाता, इसलिए ऐसी कुंजियों से बचना या उन्हें अलग से हैंडल करना बेहतर है।

क्या सभी ऐसे टूल्स में पाथ का फ़ॉर्मेट एक जैसा होता है?

नहीं। ऑब्जेक्ट के लिए डॉट नोटेशन (user.name) लगभग हर जगह आम है, लेकिन ऐरे इंडेक्स लिखने का तरीक़ा अलग-अलग होता है: यहां items[0] इस्तेमाल किया गया है, जबकि कुछ लाइब्रेरी बिना ब्रैकेट के items.0 लिखती हैं।

लेख: JSON

JSON Formatter: फ़ॉर्मेटिंग, मिनिफिकेशन और वैलिडेशन

पठनीयता के लिए फ़ॉर्मेटिंग, आकार के लिए मिनिफिकेशन, सटीकता के लिए वैलिडेशन — JSON के साथ तीन अलग काम।

JSONPath: बिना मैन्युअल पार्सिंग के JSON डेटा खोजना

JSONPath एक बड़े JSON से ज़रूरी वैल्यू को मैन्युअल खोज के बिना एक ही एक्सप्रेशन से कैसे निकालता है।

JSON Diff: संरचनात्मक तुलना टेक्स्ट तुलना से कैसे अलग है

कुंजियों का क्रम दो JSON दस्तावेज़ों की तुलना को प्रभावित क्यों नहीं करना चाहिए।

JSON Schema: JSON की संरचना कैसे बताएँ और जाँचें

JSON Schema स्वचालित रूप से जाँचने देता है कि डेटा अपेक्षित अनुबंध से मेल खाता है या नहीं।

JSON Sort Keys: ऑब्जेक्ट की कुंजियाँ क्यों सॉर्ट करें

JSON कुंजी क्रम क्यों तय नहीं है, पर सॉर्टिंग व्यवहार में फिर भी उपयोगी क्यों है।

JSON Repair: JSON क्यों टूटता है और इसे कैसे ठीक करें

"टूटे हुए" JSON के सामान्य कारण, और स्वचालित मरम्मत क्या ठीक कर सकती है और क्या नहीं।

Mock JSON Generator: नकली डेटा किस काम आता है

मॉक डेटा बैकएंड तैयार होने से पहले इंटरफ़ेस बनाना शुरू करने कैसे देता है।

JSON ↔ YAML/CSV/XML/TOML: कब और क्यों कन्वर्ट करें

JSON को CSV में बदलने पर कौन-सा डेटा खो जाता है, और कॉन्फ़िग फ़ाइलों के लिए YAML व TOML लोकप्रिय क्यों हैं।