सीधे कंटेंट पर जाएं
SPCX Tools

JSONPath टेस्टर

अपने ब्राउज़र में तुरंत अपने JSON डेटा पर JSONPath एक्सप्रेशन को इवैल्यूएट और टेस्ट करें।

लोकली चलता है — फ़ाइलें कभी आपकी डिवाइस से बाहर नहीं जातीं

टूल लोड हो रहा है…

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

  1. 1बाएं इनपुट पैनल में अपना JSON डेटा पेस्ट करें या टाइप करें, या उदाहरण डेटा लोड करने के लिए "Sample" पर क्लिक करें।
  2. 2पेज के शीर्ष पर स्थित इनपुट फ़ील्ड में अपना JSONPath एक्सप्रेशन दर्ज करें।
  3. 3सामान्य क्वेरी पैटर्न को काम करते हुए देखने के लिए इनपुट के नीचे किसी भी क्विक उदाहरण बटन पर क्लिक करें।
  4. 4दाएं पैनल में मैच हुए रिज़ल्ट, कुल मैच काउंट और मैच हुए एलिमेंट के सटीक पाथ देखें।

एक तेज़ और प्राइवेट JSONPath टेस्टर

बड़े या गहराई से नेस्टेड JSON डेटा के साथ काम करते समय, अपनी ज़रूरत की सटीक जानकारी निकालना मुश्किल हो सकता है। यह JSONPath टेस्टर आपकी क्वेरीज़ (queries) को लिखने, टेस्ट करने और डीबग करने के लिए एक लाइव एनवायरनमेंट प्रदान करता है। जैसे ही आप अपना एक्सप्रेशन टाइप करते हैं, यह टूल तुरंत आपके JSON पेलोड पर उसे इवैल्यूएट करता है, और आपको निकाले गए मान (extracted values) और उन सटीक पाथ (paths) दोनों को दिखाता है जहाँ वे मान मिले थे।

चूँकि यह पूरी तरह से क्लाइंट-साइड JSON पाथ इवैल्यूएटर है, इसलिए सारी प्रोसेसिंग आपके डिवाइस पर ही लोकली होती है। आपका JSON डेटा कभी भी किसी सर्वर पर नहीं भेजा जाता है। इसका मतलब है कि आप डेटा लीक या प्राइवेसी के उल्लंघन की चिंता किए बिना प्रोडक्शन API पेलोड, डेटाबेस एक्सपोर्ट या संवेदनशील कॉन्फ़िगरेशन फ़ाइलों को सुरक्षित रूप से पेस्ट कर सकते हैं।

डेवलपर्स के लिए मुख्य फ़ीचर्स

  • लाइव इवैल्यूएशन: जैसे ही आप अपने JSON डेटा या क्वेरी में बदलाव करते हैं, रिज़ल्ट तुरंत अपडेट हो जाते हैं। किसी सबमिट बटन पर क्लिक करने या सर्वर के रिस्पॉन्स का इंतज़ार करने की कोई ज़रूरत नहीं है।
  • सुरक्षित पार्सिंग: यह टूल आपकी क्वेरीज़ को प्रोसेस करने के लिए एक सुरक्षित इवैल्यूएशन इंजन (eval: 'safe') का उपयोग करता है, जो जटिल फ़िल्टर एक्सप्रेशन के लिए पूरा सपोर्ट बनाए रखते हुए किसी भी दुर्भावनापूर्ण कोड को रन होने से रोकता है।
  • पाथ एक्सट्रैक्शन: मैच होने वाले मानों को दिखाने के साथ-साथ, यह टूल हर मैच के लिए एब्सोल्यूट पाथ भी जनरेट करता है। यदि आपको बाद में उन विशिष्ट नोड्स को प्रोग्रामेटिक रूप से अपडेट करने की आवश्यकता हो, तो यह बहुत उपयोगी होता है।
  • इन-बिल्ट उदाहरण: यदि आप इस सिंटैक्स (syntax) के लिए नए हैं, तो आप एक सैंपल बुकस्टोर डेटासेट लोड कर सकते हैं और यह देखने के लिए कई पहले से लिखे गए एक्सप्रेशन पर क्लिक कर सकते हैं कि विभिन्न ऑपरेटर कैसे काम करते हैं।

JSONPath क्वेरी कैसे लिखें

JSON ऑब्जेक्ट्स और एरे में नेविगेट करने के लिए JSONPath एक विशिष्ट सिंटैक्स का उपयोग करता है। अगर आप JSONPath एक्सप्रेशन लॉजिक को टेस्ट करना चाहते हैं, तो इसके मुख्य ऑपरेटर्स को समझना आपके लिए मददगार होगा:

  • $ रूट ऑब्जेक्ट या एरे को दर्शाता है। हर एब्सोल्यूट JSONPath एक्सप्रेशन इसी सिंबल से शुरू होता है।
  • @ प्रोसेस हो रहे वर्तमान नोड (current node) को दर्शाता है। इसका उपयोग मुख्य रूप से फ़िल्टर एक्सप्रेशन्स के अंदर किया जाता है।
  • . या [] चाइल्ड ऑपरेटर्स हैं जिनका उपयोग प्रॉपर्टीज़ को चुनने के लिए किया जाता है। उदाहरण के लिए, $.store.book और $['store']['book'] एक ही काम करते हैं।
  • .. रिकर्सिव डिसेंट (recursive descent) ऑपरेटर है। यह JSON ट्री में किसी विशिष्ट की (key) को कहीं भी खोज लेता है, चाहे वह कितनी भी गहराई में नेस्टेड (nested) हो (जैसे, $..price सभी कीमतों को ढूँढता है)।
  • * एक वाइल्डकार्ड है जो किसी ऑब्जेक्ट या एरे के सभी एलिमेंट्स से मैच करता है। उदाहरण के लिए, $.store.* स्टोर ऑब्जेक्ट के ठीक अंदर मौजूद हर चीज़ को चुनता है।
  • [?()] एक फ़िल्टर एक्सप्रेशन लागू करता है। आप इसके अंदर स्टैंडर्ड लॉजिकल ऑपरेटर्स का उपयोग कर सकते हैं। उदाहरण के लिए, $..book[?(@.author == 'Nigel Rees')] उस विशिष्ट लेखक द्वारा लिखी गई सभी किताबों को खोज लेगा।
  • [start:end:step] आपको Python की तरह ही एरे को स्लाइस (slice) करने की सुविधा देता है। $.store.book[-1:] एरे की आखिरी किताब को चुनता है।

सामान्य उपयोग के मामले

API डेवलपमेंट और डिबगिंग। आधुनिक REST और GraphQL APIs अक्सर बड़े JSON पेलोड रिटर्न करते हैं। रिस्पॉन्स को पार्स और इन्स्पेक्ट करने के लिए टेम्परेरी कोड लिखने के बजाय, आप पेलोड को इस JSONPath ऑनलाइन टूल में पेस्ट कर सकते हैं ताकि यह तुरंत चेक किया जा सके कि डेटा स्ट्रक्चर सही है और आपकी क्वेरी सही फील्ड्स निकाल रही है।

ऑटोमेटेड टेस्टिंग। इंटीग्रेशन टेस्ट या एंड-टू-एंड टेस्ट (Postman, RestAssured, या Playwright जैसे टूल्स का उपयोग करके) लिखते समय, आपको अक्सर यह सुनिश्चित करना होता है कि JSON रिस्पॉन्स में कोई खास वैल्यू मौजूद है। jsonpath टेस्टर का उपयोग करके आप अपनी टेस्ट सुइट में हार्डकोड करने से पहले क्वेरी स्ट्रिंग को परफेक्ट बना सकते हैं।

डेटा एक्सट्रैक्शन और ट्रांसफॉर्मेशन। अगर आप डेटा माइग्रेट कर रहे हैं या ETL (Extract, Transform, Load) पाइपलाइन बना रहे हैं, तो आपको अक्सर खास ऐरे या ऑब्जेक्ट्स को अलग करना पड़ता है। अपने टारगेट डेटा को एक्सट्रैक्ट करने के लिए सही पाथ का पता लगाने के लिए आप इस टूल का उपयोग कर सकते हैं। अगर आपका सोर्स डेटा XML में है, तो आप पहले XML to JSON कनवर्टर का उपयोग कर सकते हैं। वहीं, अगर आपको इन्स्पेक्ट करने से पहले मिनिफाइड डेटा को फॉर्मेट करना है, तो JSON Formatter आपकी मदद कर सकता है। ट्रांसफॉर्मेशन से पहले और बाद में आपका डेटा कैसे बदलता है, यह देखने के लिए आप JSON Compare टूल का भी उपयोग कर सकते हैं।

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

JSONPath क्या है?
JSONPath, JSON डेटा के लिए एक क्वेरी लैंग्वेज है, ठीक वैसे ही जैसे XML के लिए XPath का उपयोग किया जाता है। यह आपको एक कॉम्पैक्ट स्ट्रिंग एक्सप्रेशन का उपयोग करके जटिल JSON स्ट्रक्चर से विशिष्ट नोड्स, एरे या वैल्यू को चुनने और निकालने की सुविधा देता है।
क्या मेरा JSON डेटा सुरक्षित है?
हाँ। यह टूल पूरी तरह से आपके ब्राउज़र में लोकली चलता है। आपका JSON डेटा और क्वेरी कभी भी किसी सर्वर पर अपलोड नहीं किए जाते हैं, जिससे यह संवेदनशील API रिस्पॉन्स, कॉन्फ़िगरेशन फ़ाइलों या प्रोपराइटरी डेटा की टेस्टिंग के लिए पूरी तरह से सुरक्षित है।
मैं किसी विशिष्ट कंडीशन के आधार पर डेटा कैसे फ़िल्टर करूँ?
आप [?(@.property == 'value')] सिंटैक्स के साथ फ़िल्टर एक्सप्रेशन का उपयोग कर सकते हैं। उदाहरण के लिए, $.store.book[?(@.price < 10)] स्टोर एरे में उन सभी किताबों को रिटर्न करेगा जिनकी कीमत 10 से कम है।
क्या मैं मैच हुए एलिमेंट्स की सटीक लोकेशन देख सकता हूँ?
हाँ। मुख्य रिज़ल्ट आउटपुट के नीचे, एक एक्सपेंडेबल "Paths" सेक्शन है। इसे खोलने पर आपके रिज़ल्ट सेट में मैच हुए हर एक एलिमेंट का सटीक और एब्सोल्यूट JSONPath दिखाई देगा।
मुझे "Invalid JSON" एरर क्यों मिल रहा है?
JSON के लिए सख्त फ़ॉर्मेटिंग की आवश्यकता होती है। सुनिश्चित करें कि आपकी सभी कीज़ (keys) और स्ट्रिंग वैल्यूज़ डबल कोट्स (सिंगल कोट्स नहीं) में बंद हैं, और किसी ऑब्जेक्ट या एरे में आखिरी आइटम के बाद कोई ट्रेलिंग कॉमा (trailing comma) नहीं है।
यह टूल किस JSONPath स्पेसिफिकेशन का उपयोग करता है?
यह टूल लोकप्रिय jsonpath-plus लाइब्रेरी का उपयोग करता है, जो ओरिजिनल JSONPath स्पेसिफिकेशन को पूरी तरह से सपोर्ट करती है और अधिक जटिल क्वेरी के लिए कुछ सुरक्षित, अतिरिक्त फीचर्स भी देती है। यह JavaScript eval() फ़ंक्शन का उपयोग किए बिना एक्सप्रेशन्स को सुरक्षित रूप से इवैल्यूएट करता है।