JSONPath टेस्ट करने वाला टूल

JSON दस्तावेज चिपकाएँ और JSONPath क्वेरी लिखें। आपको मेल खाने वाले नोड की संख्या, और हर एक का सामान्यीकृत पथ और मान मिलता है। क्वेरी आपके ब्राउज़र में चलती है, और कुछ भी भेजा नहीं जाता।

मुफ्त आपके ब्राउज़र में चलता है जाँचा गया मंगलवार, 10 नवंबर 2026

टेक्स्ट वैध JSON होना चाहिए। उदाहरण RFC 9535 के खंड 1.5 का किताबों की दुकान वाला दस्तावेज है।

यह $ से शुरू होती है, जो रूट है। फ़िल्टर में @ उस आइटम को दर्शाता है जिसे जाँचा जा रहा है, जैसे [[email protected] < 10]। शुरू और आखिर के स्पेस नजरअंदाज होते हैं।

परिणाम

मेल खाने वाले — क्वेरी जितने नोड चुनती है, उनकी संख्या। जब क्वेरी किसी नोड को दोबारा चुने, तो वह दो बार गिना जाता है।
मेल खाने वाले, क्रम में

यह टूल आपके ब्राउज़र में चलता है। आप जो लिखते हैं, वह हमें नहीं भेजा जाता।

इसका इस्तेमाल कैसे करें

  1. JSON दस्तावेज को JSON दस्तावेज में चिपकाएँ। पहले टूल आजमाने के लिए उदाहरण इस्तेमाल करें।
  2. JSONPath क्वेरी को उसके नीचे वाले फ़ील्ड में लिखें, $ से शुरू करके। फ़िल्टर ब्रैकेट में जाते हैं: [[email protected] < 10]।
  3. मेल खाने वाले की गिनती पढ़ें, फिर मेल खाने वाले, क्रम में की तालिका: हर पंक्ति में एक मेल का पथ और उसका मान है।
  4. अगर कोई संदेश समस्या की जगह बताए, तो क्वेरी का वह अक्षर देखें और ब्रैकेट, उद्धरण चिह्न या बिंदु ठीक करें।

क्वेरी नोड कैसे चुनती है

क्वेरी $ के बाद खंडों की सूची है। एक चाइल्ड खंड, जैसे .store या [0], हर उस नोड के बच्चे चुनता है जिस तक वह पहुँचता है, और डिसेंडेंट खंड, जैसे ..author, नोड और उसके सारे वंशजों पर जाता है, उससे पहले कि वह चुने। एक खंड के नोड इनपुट के क्रम में आते हैं, और सरणी हमेशा अपने क्रम में पढ़ी जाती है (RFC 9535, खंड 2.5 और 2.5.2.2)।

नाम सिलेक्टर ठीक उसी नाम के सदस्य से मेल खाता है, और सिर्फ ऑब्जेक्ट में। ऋणात्मक इंडेक्स सरणी के अंत से गिनता है, इसलिए -1 आखिरी तत्व है। [1:5:2] जैसा स्लाइस शुरुआत, अंत और कदम लेता है, और 0 का कदम कुछ नहीं चुनता (खंड 2.3.4.2)।

फ़िल्टर, फ़ंक्शन और टूल क्या मना करता है

फ़िल्टर [?...] सरणी या ऑब्जेक्ट के हर चाइल्ड की जाँच करता है। तुलना के लिए ==, !=, <, <=, > और >= हैं; &&, || और ! जाँचों को जोड़ते हैं, और कोष्ठक उन्हें समूह में रखते हैं। जो सदस्य नहीं है वह Nothing है, और दो Nothing बराबर हैं। संख्या संख्या से, टेक्स्ट टेक्स्ट से तुलना होता है, और एक प्रकार का मान दूसरे प्रकार के मान के बराबर कभी नहीं होता (खंड 2.3.5.2)।

फ़ंक्शन length, count, value, match और search वैसे ही समर्थित हैं जैसे RFC 9535 परिभाषित करता है। match और search I-Regexp में लिखा नियमित व्यंजक लेते हैं, जो RFC 9485 का फ़ॉर्मेट है; जो पैटर्न वैध I-Regexp नहीं, वह कुछ मेल नहीं खाता। सरणी और ऑब्जेक्ट के लिटरल व्याकरण में नहीं हैं, इसलिए टूल उन्हें मना करता है, और वह फ़िल्टर में अकेले इस्तेमाल हुए फ़ंक्शन का परिणाम भी मना करता है, क्योंकि RFC 9535 उसे सही टाइप का नहीं मानता।

किताबों की दुकान का उदाहरण

उदाहरण दस्तावेज और क्वेरी $.store.book[[email protected] < 10].title के साथ, 10 से सस्ती किताबें पहली और तीसरी हैं। उनके शीर्षक नीचे की दो मेल हैं, हर एक के सामान्यीकृत पथ के साथ।

सामान्यीकृत पथ मान (JSON)
$['store']['book'][0]['title'] "Sayings of the Century"
$['store']['book'][2]['title'] "Moby Dick"

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

कुंजी मौजूद है, फिर भी क्वेरी कुछ क्यों नहीं लौटाती?

नाम सिलेक्टर सिर्फ ऑब्जेक्ट के उसी नाम के सदस्य से मेल खाता है, और तुलना केस-सेंसिटिव है। वह सरणी के तत्व से कभी मेल नहीं खाता, इसलिए सरणी के लिए इंडेक्स या वाइल्डकार्ड इस्तेमाल करें।

फ़िल्टर में 13 और "13" बराबर क्यों नहीं हैं?

RFC 9535 अलग-अलग प्रकार के मानों को बराबर नहीं मानता (खंड 2.3.5.3)। संख्या और टेक्स्ट अलग मान हैं, इसलिए == गलत है और != सही, भले अक्षर एक जैसे दिखें।

ऋणात्मक इंडेक्स क्या चुनता है?

ऋणात्मक इंडेक्स सरणी के अंत से गिनता है: -1 आखिरी तत्व है और -2 उससे पहले वाला। सरणी के बाहर का इंडेक्स कुछ नहीं चुनता, और वह कोई गलती नहीं है (खंड 2.3.3.2)।

जब length(@) फ़िल्टर में अकेला हो, तो टूल उसे मना क्यों करता है?

length एक संख्या लौटाता है, और फ़िल्टर को ऐसी जाँच चाहिए जो सही या गलत हो। परिणाम की तुलना करें, जैसे [?length(@.title) > 15], जो सही टाइप का है।

क्या टूल मेरा JSON सर्वर पर भेजता है?

नहीं। दस्तावेज आपका ब्राउज़र JSON.parse से पढ़ता है, क्वेरी भी वहीं चलती है, और कुछ सहेजा नहीं जाता। पेज कोई नेटवर्क अनुरोध नहीं करता।

स्रोत

आँकड़े और टेक्स्ट आखिरी बार मंगलवार, 10 नवंबर 2026 को जाँचे गए।

साइट चलाने के लिए हम जरूरी कुकीज़ इस्तेमाल करते हैं। आपकी सहमति से Google विज्ञापन कुकीज़ भी इस्तेमाल करता है, ताकि व्यक्तिगत विज्ञापन दिखें। अगर आप उन्हें अस्वीकार करते हैं, तो भी आपको विज्ञापन दिखेंगे, पर वे व्यक्तिगत नहीं होंगे।