JSON Path टेस्टर कैसे इस्तेमाल करें
- JSON डॉक्यूमेंट पेस्ट करें।
- कोई JSONPath एक्सप्रेशन टाइप करें, जैसे $.store.book[?(@.price < 10)].title।
- मैच देखें; वैल्यू या नॉर्मलाइज़्ड पाथ कॉपी करें।
JSON Path टेस्टर की खूबियाँ
- पूरा JSONPath सिंटैक्स: डॉट/ब्रैकेट एक्सेस, वाइल्डकार्ड, रिकर्सिव डिसेंट, स्लाइस और यूनियन
- तुलना, regex (=~), in / nin, अंकगणित और बूलियन लॉजिक वाले फ़िल्टर एक्सप्रेशन
- सुरक्षित मूल्यांकन — कोई eval() नहीं, एक्सप्रेशन को AST में पार्स किया जाता है
- नतीजे तालिका (पाथ, टाइप, वैल्यू), वैल्यू के JSON ऐरे और नॉर्मलाइज़्ड पाथ की सूची के रूप में
- एक्सप्रेशन या डॉक्यूमेंट एडिट करते ही लाइव मूल्यांकन
- समस्या की ओर इशारा करते आसान सिंटैक्स एरर
JSON Path टेस्टर का उदाहरण
सस्ती किताबें ढूँढ़ना
इनपुट:
$.store.book[?(@.price < 10)].titleआउटपुट:
$.store.book[0].title "Sayings of the Century"
$.store.book[2].title "Moby Dick"JSON Path टेस्टर के बारे में अक्सर पूछे जाने वाले सवाल
JSONPath की कौन-सी सुविधाएँ समर्थित हैं?
डॉट और ब्रैकेट नोटेशन, वाइल्डकार्ड (*), रिकर्सिव डिसेंट (..), ऋणात्मक सहित ऐरे इंडेक्स, स्लाइस [start:end:step], यूनियन [0,2] और ["a","b"], फ़िल्टर [?(…)] तथा (@.length-1) वाला स्क्रिप्ट रूप।
फ़िल्टर के भीतर क्या लिख सकता हूँ?
तुलनाएँ (==, !=, <, <=, >, >=), रेगुलर एक्सप्रेशन (@.name =~ /^a/i), सदस्यता (@.tag in ["a","b"]), अस्तित्व (@.isbn), अंकगणितीय और तार्किक ऑपरेटर (&&, ||, !)। रूट ($) के संदर्भ भी मान्य हैं।
क्या फ़िल्टर चलाना सुरक्षित है?
हाँ। एक्सप्रेशन एक छोटे AST में पार्स होते हैं और टूल खुद उनका मूल्यांकन करता है — कभी eval() या Function() इस्तेमाल नहीं होता, इसलिए मनमाना कोड नहीं चल सकता।
"नॉर्मलाइज़्ड पाथ" क्या है?
हर मैच का विशिष्ट ब्रैकेट/डॉट पाथ, उदाहरण के लिए $.store.book[2].title। टेस्ट या डॉक्युमेंटेशन में वैल्यू का सटीक संदर्भ देने के लिए इसका इस्तेमाल करें।
तकनीकी नोट्स
पाथ को सेगमेंट (child, wildcard, index, slice, union, filter, script) में टोकनाइज़ किया जाता है। फ़िल्टर एक छोटे एक्सप्रेशन ट्री में कंपाइल होते हैं जो ==, !=, <, <=, >, >=, =~, in, nin, contains, &&, ||, !, यूनरी माइनस और + − * / % का समर्थन करता है। अलग-अलग टाइप के बीच तुलना false देती है, जो लोकप्रिय JSONPath लाइब्रेरियों के व्यवहार जैसा ही है।