Format, explore and convert JSON safely.
ब्राउज़र में ही JSON जाँचें, खंगालें और बदलें: त्रुटि की ठीक-ठीक जगह, बड़ी फ़ाइलों पर भी तेज़ रहने वाला मोड़ने लायक ट्री, JSONPath क्वेरी, और CSV, XML, YAML, JSON Schema या TypeScript में निर्यात।
शुरू करने के लिए बाईं ओर JSON चिपकाएँ या छोड़ें।
यह कैसे काम करता है
JSON लाएँ
चिपकाएँ, फ़ाइल छोड़ें, या किसी दूसरे औज़ार से सीधे भेजें। कुछ भी अपलोड नहीं होता, और भारी काम आपके कहे बिना शुरू नहीं होता।
फ़ैसला पढ़ें
या तो मान्य, या टूटने की ठीक पंक्ति और स्तंभ — साथ में दोहरी कुंजियाँ और वे संख्याएँ जिन्हें JavaScript संभाल नहीं सकता।
खंगालें
ट्री मोड़ें, कुंजी या मान से छाँटें, या पूरे दस्तावेज़ पर JSONPath अभिव्यक्ति चलाएँ।
साथ ले जाएँ
CSV, XML, YAML, JSON Lines, JSON Schema, TypeScript या Go के टाइप — या सीधे किसी दूसरे औज़ार को भेज दें।
असली पार्सर, JSON.parse नहीं
त्रुटि पंक्ति, स्तंभ और हाशिये पर उजागर पंक्ति के साथ आती है, न कि ऐसे अक्षर-अंतराल के साथ जिसे आपको खुद गिनना पड़े।
64-बिट पहचानकर्ता बचे रहते हैं
लंबे संख्यात्मक पहचानकर्ता अंक-दर-अंक दोबारा लिखे जाते हैं। JSON.parse पर बना हर फ़ॉर्मैटर उन्हें चुपचाप निकटतम दशमलव मान पर गोल कर देता है।
एक क्लिक में मरम्मत
टिप्पणियाँ, अतिरिक्त अल्पविराम, एकल उद्धरण, बिना उद्धरण की कुंजियाँ, Python के True/False/None और भटका हुआ BOM सख़्त JSON बन जाते हैं।
JSONPath क्वेरी
वाइल्डकार्ड, पुनरावर्ती अवरोहण, स्लाइस और [?(@.price > 10)] जैसे फ़िल्टर, हाथ से जाँचे जाते हैं: आपका लिखा कभी चलाया नहीं जाता।
असली डेटा से टाइप
JSON Schema, TypeScript इंटरफ़ेस या Go स्ट्रक्ट, सभी रिकॉर्ड देखकर निकाले जाते हैं, इसलिए कभी-कभी गायब रहने वाले फ़ील्ड वैकल्पिक बनते हैं।
ईमानदार सपाटीकरण
आप पथ विभाजक चुनते हैं और यह भी कि नेस्टेड ऐरे का क्या हो। खाली ऑब्जेक्ट निर्यात से गायब होने के बजाय अपना स्तंभ रखते हैं।
ढाँचे की तुलना
दो दस्तावेज़ पथ-दर-पथ मिलाए जाते हैं, ताकि कुंजियों का अलग क्रम हज़ार बदलावों में न बदल जाए।
बड़ी फ़ाइलें भी चलने लायक रहती हैं
जाँच वेब वर्कर में चली जाती है, ट्री सिर्फ़ दिखने वाली पंक्तियाँ लगाता है, और इतिहास बदले हुए अक्षर रखता है, दस्तावेज़ की नक़ल नहीं।
Format, explore and convert JSON safely.
API की प्रतिक्रियाओं में टोकन, ग्राहकों का ब्योरा और आंतरिक पहचानकर्ता होते हैं। JSONFlow उनमें से कुछ भी कहीं नहीं भेजता: पार्सर, ट्री, क्वेरी और निर्यात सब इसी टैब में चलते हैं, इसलिए यहाँ प्रोडक्शन की प्रतिक्रिया चिपकाना उतना ही निजी है जितना उसे अपने संपादक में खोलना।
सब कुछ इसी टैब में चलता है
पार्सर, मोड़ने लायक ट्री, JSONPath इंजन और हर निर्यात आपके उपकरण पर चलने वाला साधारण JavaScript है। न अपलोड का कोई चरण, न कोई सर्वर, न आपका डेटा ले जाने वाला कोई अनुरोध: पृष्ठ लोड होने के बाद इंटरनेट बंद कर दीजिए, औज़ार फिर भी चलता रहेगा।
डेवलपर के लिए पूरा JSON कार्यमेज़।
कॉन्फ़िग फ़ाइल तोड़ने वाला वही एक अल्पविराम खोजना, API की प्रतिक्रिया को स्प्रेडशीट में बदलना, ऐसे एंडपॉइंट का TypeScript इंटरफ़ेस बनाना जिसका दस्तावेज़ किसी ने नहीं लिखा, यह जाँचना कि एक ही पेलोड के दो संस्करण सचमुच अलग हैं या नहीं, और वे लॉग खोलना जिनमें JSON उद्धरण चिह्नों वाली स्ट्रिंग में लिपटा आया था।
JSON पेलोड शायद ही कभी गुमनाम होता है: उसमें एक्सेस टोकन, ईमेल पते, ऑर्डर नंबर और आंतरिक एंडपॉइंट होते हैं। उसे किसी होस्ट किए गए फ़ॉर्मैटर में चिपकाना यानी सब कुछ किसी और के सर्वर को सौंप देना। यहाँ वह टैब से बाहर जाता ही नहीं, इसलिए न कुछ लॉग होता है, न कैश, न लीक।
अक्सर पूछे जाने वाले प्रश्न
Qक्या मेरा JSON किसी सर्वर पर भेजा जाता है?+
नहीं। पार्सिंग, जाँच, ट्री, क्वेरी और हर निर्यात इसी ब्राउज़र टैब के भीतर चलते हैं। पृष्ठ लोड होने के बाद आप नेटवर्क बंद कर सकते हैं और सब कुछ चलता रहेगा।
Qयह असल में कितनी बड़ी फ़ाइल संभाल लेता है?+
एक सामान्य लैपटॉप पर 1,80,000 नोड वाला 1.5 MB का दस्तावेज़ एक सेकंड के दसवें हिस्से से भी काफ़ी कम में पार्स हो जाता है, और कई दसियों मेगाबाइट की फ़ाइलें भी खुलती हैं: जाँच वेब वर्कर में चली जाती है और ट्री सिर्फ़ दिखने वाली पंक्तियाँ बनाता है। असली सीमा मेमोरी है, औज़ार नहीं: लगभग 100 MB के बाद कोई भी ब्राउज़र टैब किसी भी कार्यक्रम के साथ लड़खड़ाने लगता है। 2 MB से बड़ी हर चीज़ अपने आप लोड होने के बजाय एक बटन के पीछे रोक दी जाती है, ताकि बड़ी फ़ाइल आते ही पृष्ठ को जमा न दे।
Qदूसरे फ़ॉर्मैटर में मेरे लंबे पहचानकर्ता क्यों बदल जाते हैं?+
JSON.parse हर संख्या को 64-बिट फ़्लोट बना देता है, जो 2^53 से बड़े पूर्णांक ठीक-ठीक नहीं रख सकता — Twitter, Discord या Snowflake का पहचानकर्ता अपने आख़िरी अंक खो देता है। JSONFlow स्रोत पाठ के मूल अंक बनाए रखता है और संख्या के उस दायरे में आते ही चेतावनी देता है।
Qमेरी फ़ाइल में टिप्पणियाँ और अतिरिक्त अल्पविराम हैं। क्या यह समस्या है?+
नहीं। सख़्त पार्सिंग विफल होते ही एक सहनशील पास अपने आप चलता है और सफल होने पर मरम्मत का बटन दिख जाता है। वह टिप्पणियाँ, अतिरिक्त अल्पविराम, एकल उद्धरण, बिना उद्धरण की कुंजियाँ, Python के True/False/None, NaN और Infinity संभालता है और दस्तावेज़ को सख़्त JSON में दोबारा लिख देता है।
QJSON से CSV का सपाटीकरण कैसे काम करता है?+
सबसे ऊपरी ऐरे का हर तत्व एक पंक्ति बनता है, और नेस्टेड कुंजियाँ user.address.city जैसे बिंदु वाले स्तंभ बन जाती हैं। विभाजक आप चुनते हैं, और यह भी कि नेस्टेड ऐरे को हर मद का अलग स्तंभ मिले, JSON की तरह रहे, या जुड़ जाए। लौटते समय शीर्षक अक्षरशः लिए जाते हैं: first_name स्तंभ first_name ही रहता है, जब तक आप नेस्टिंग स्पष्ट रूप से न माँगें।
Qक्वेरी पट्टी में मैं क्या लिख सकता हूँ?+
JSONPath का एक उपसमुच्चय: $.users[0].name, [*] से वाइल्डकार्ड, .. से पुनरावर्ती अवरोहण, [0:5] जैसे स्लाइस, ऋणात्मक अनुक्रमांक, और [?(@.price > 10)] या [?(@.name =~ ^a)] जैसे फ़िल्टर। अभिव्यक्तियाँ हाथ से पढ़ी जाती हैं, कभी कोड की तरह चलाई नहीं जातीं।