JSON Flatten / Unflatten
नेस्टेड JSON को डॉट-नोटेशन कीज़ में फ़्लैटन करें, या वापस अनफ़्लैटन करें, तुरंत आपके ब्राउज़र में। आपका डेटा आपके डिवाइस पर रहता है।
आपका JSON आपके ब्राउज़र में स्थानीय रूप से फ़्लैटन और अनफ़्लैटन होता है और कभी अपलोड नहीं होता, पर ऐसे रहस्य पेस्ट करने से बचें जिन्हें आप अपने क्लिपबोर्ड इतिहास में नहीं रखना चाहते।
पहले सुंदर बनाना है? JSON Formatter आज़माएँ।
JSON Flatten / Unflatten के बारे में
यह json flatten टूल किसी नेस्टेड JSON ऑब्जेक्ट को एक ही स्तर के मैप में समेट देता है जिसकी कीज़ डॉट-नोटेशन पाथ होती हैं, इसलिए {"a":{"b":1},"arr":[10,20]} बन जाता है {"a.b":1,"arr.0":10,"arr.1":20}। unflatten पर जाएँ तो यह उन सपाट पाथ से मूल नेस्टेड संरचना फिर से बना देता है। सपाट की/वैल्यू आकार को diff करना, .env या कॉन्फ़िग फ़ाइलों में सहेजना, स्प्रेडशीट कॉलम में मैप करना, या पाथ से की होने वाली फ़ॉर्म लाइब्रेरी में डालना आसान होता है। आप डिफ़ॉल्ट डॉट से डिलिमिटर को अपनी पसंद के किसी भी अक्षर में बदल सकते हैं, और चुन सकते हैं कि ऐरे इंडेक्स arr.0 की तरह पढ़े जाएँ या ब्रैकेट-स्टाइल arr[0] की तरह। ऑब्जेक्ट कीज़, ऐरे, primitive, null, और खाली कंटेनर सभी संभाले जाते हैं, और राउंड ट्रिप lossless होता है। सब कुछ पूरी तरह आपके ब्राउज़र में चलता है, इसलिए आपके द्वारा पेस्ट किया गया JSON स्थानीय रूप से संसाधित होता है और कभी आपके डिवाइस से बाहर नहीं जाता।
विशेषताएँ
- नेस्टेड ऑब्जेक्ट और ऐरे को एक-स्तरीय डॉट-नोटेशन कीज़ में फ़्लैटन करें
- सपाट पाथ/वैल्यू जोड़ों को वापस मूल नेस्टेड JSON में अनफ़्लैटन करें
- कोई भी की डिलिमिटर चुनें — डिफ़ॉल्ट एक डॉट (.) है
- ऐरे के लिए डॉट इंडेक्स (arr.0) या ब्रैकेट इंडेक्स (arr[0]) चुनें
- Lossless राउंड ट्रिप: फ़्लैटन फिर अनफ़्लैटन करने पर समान JSON लौटता है
- primitive, null, और खाली ऑब्जेक्ट तथा ऐरे को लीफ़ वैल्यू के रूप में संभालता है
- लाइव दो-पैन व्यू, टाइप करते ही पार्स एरर इनलाइन दिखते हैं
- परिणाम को कॉपी करें या इसे flat.json या nested.json के रूप में डाउनलोड करें
JSON Flatten / Unflatten का उपयोग कैसे करें
- मोड टॉगल से Flatten या Unflatten चुनें।
- बाईं ओर के इनपुट पैनल में अपना JSON पेस्ट करें।
- अगर डिफ़ॉल्ट से अलग चाहिए तो डिलिमिटर और, फ़्लैटन के लिए, ऐरे की स्टाइल सेट करें।
- दाईं ओर रूपांतरित JSON पढ़ें, फिर उसे Copy या डाउनलोड करें।
उदाहरण
इनपुट
{
"user": { "name": "Ada", "roles": ["admin", "dev"] },
"active": true
}
आउटपुट
{
"user.name": "Ada",
"user.roles.0": "admin",
"user.roles.1": "dev",
"active": true
}
नेस्टेड ऑब्जेक्ट और ऐरे आइटम अपने इंडेक्स पर समाप्त होने वाली डॉट-नोटेशन कीज़ बन जाते हैं।
सामान्य त्रुटियाँ और समस्या निवारण
- Unflatten बताता है कि उसे पाथ/वैल्यू जोड़ों का एक सपाट JSON ऑब्जेक्ट चाहिए। — Unflatten को {"a.b":1} जैसा एक-स्तरीय ऑब्जेक्ट चाहिए; यदि आप नेस्टेड JSON से शुरू कर रहे हैं तो Flatten पर जाएँ।
- Unflatten "0", "1" कीज़ वाला ऑब्जेक्ट बनाता है जहाँ आपको ऐरे की उम्मीद थी। — ऐरे इंडेक्स सादे पूर्णांक खंड होने चाहिए। यदि आपका डिलिमिटर कीज़ से अलग है, तो वही डिलिमिटर सेट करें ताकि 0 और 1 इंडेक्स के रूप में पढ़े जाएँ।
- फ़्लैटन करते समय दो कीज़ के टकराने पर वैल्यू खो जाती हैं, जैसे की नाम के अंदर एक डॉट हो। — ऐसा डिलिमिटर चुनें जो आपकी कीज़ के अंदर न आता हो (जैसे / या __) ताकि हर पाथ स्पष्ट रहे।
- इनपुट में JSON पार्स एरर दिखता है और कोई आउटपुट नहीं आता। — हाइलाइट किए गए सिंटैक्स को ठीक करें — JSON को डबल-कोट वाली कीज़ और स्ट्रिंग चाहिए और कोई ट्रेलिंग कॉमा नहीं। सही शुरुआती बिंदु के लिए Load example आज़माएँ।
अक्सर पूछे जाने वाले प्रश्न
- ऐरे कैसे फ़्लैटन होते हैं?
- हर ऐरे आइटम आइटम के इंडेक्स पर समाप्त होने वाली अपनी की बन जाता है, इसलिए arr[10, 20] फ़्लैटन होकर {"arr.0":10,"arr.1":20} बनता है। आप ब्रैकेट स्टाइल पर जाकर इसके बजाय arr[0] और arr[1] पा सकते हैं, और unflatten दोनों रूपों को वापस असली ऐरे में पढ़ लेता है।
- क्या मैं की डिलिमिटर बदल सकता हूँ?
- हाँ। डिलिमिटर डिफ़ॉल्ट रूप से एक डॉट है, पर आप इसे किसी भी अक्षर या छोटी स्ट्रिंग पर सेट कर सकते हैं — जैसे / या __। अनफ़्लैटन करते समय वही डिलिमिटर उपयोग करें ताकि पाथ सही ढंग से वापस बँट जाएँ।
- क्या फ़्लैटन फिर अनफ़्लैटन lossless है?
- सही ढंग से बने JSON के लिए राउंड ट्रिप समान डेटा लौटाता है: ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, बूलियन, null, और खाली कंटेनर सभी सुरक्षित रहते हैं। बस ऐसा डिलिमिटर न चुनें जो की नाम के अंदर भी अक्षरशः आता हो।
- डॉट और ब्रैकेट ऐरे कीज़ में क्या अंतर है?
- यह पूरी तरह इस बात पर है कि इंडेक्स कैसे लिखे जाते हैं: डॉट स्टाइल arr.0 देती है जबकि ब्रैकेट स्टाइल arr[0]। दोनों एक ही ऐरे स्थिति दर्शाते हैं, और अनफ़्लैटन चरण दोनों नोटेशन समझता है, इसलिए वही चुनें जो आपके अन्य टूल अपेक्षित करते हों।
- मैं JSON को फ़्लैटन क्यों करूँ?
- सपाट पाथ/वैल्यू मैप लाइन-दर-लाइन diff करना, environment या कॉन्फ़िग फ़ाइलों में सहेजना, स्प्रेडशीट कॉलम के रूप में पंक्तिबद्ध करना, और पाथ से की होने वाले फ़ॉर्म फ़ील्ड से बाइंड करना आसान होते हैं। जरूरत पड़ने पर अनफ़्लैटन उस सपाट आकार को वापस नेस्टेड JSON में बदलने देता है।
- क्या मेरा JSON कहीं अपलोड होता है?
- नहीं। फ़्लैटनिंग और अनफ़्लैटनिंग पूरी तरह आपके ब्राउज़र में चलते हैं, इसलिए आपके द्वारा पेस्ट किया गया JSON आपके डिवाइस पर स्थानीय रूप से संसाधित होता है और कभी किसी सर्वर पर नहीं भेजा जाता।
संबंधित टूल
- JSON फ़ॉर्मेटर — त्रुटि की स्थिति के साथ JSON को सुंदर बनाएँ, छोटा करें और वैलिडेट करें।
- JSON व्यूअर — विस्तृत/संक्षिप्त करने और नोड पाथ के साथ टेक्स्ट और फ़ोल्ड होने योग्य ट्री व्यूअर।
- JSON से CSV — सपाट JSON ऑब्जेक्ट के एरे को CSV में कन्वर्ट करें।
- JSON एस्केप / अनएस्केप — टेक्स्ट को JSON स्ट्रिंग में एस्केप करें या JSON स्ट्रिंग को सादे टेक्स्ट में अनएस्केप करें।
- JSON Diff — दो JSON दस्तावेज़ों की तुलना करें और एक संरचनात्मक diff देखें।
- YAML ↔ JSON — YAML को JSON में और वापस कन्वर्ट करें।
सभी ArrayKit टूल