JSONPath Tester
किसी भी JSON document पर JSONPath queries चलाएं। मिलान वाले nodes और उनके paths real time में देखें।
परिणाम देखने के लिए ऊपर इनपुट डालें।
JXXR1 द्वारा बनाया गया · ♥ स्पॉन्सर करें · ☕ मुझे coffee दिलाएं
यह किसके लिए है?
JSONPath का JSON के लिए वही महत्व है जो XPath का XML के लिए — custom code लिखे बिना nested document से specific values निकालने के लिए एक query language। $.store.books[*].title कहता है "मुझे store के नीचे हर book title दो"; $..price कहता है "document में कहीं भी हर price"। यह टूल आपके paste किए गए किसी भी JSON पर live query चलाता है, मिलान वाले values और उनके paths दोनों दिखाता है, ताकि आप query पर तब तक iterate कर सकें जब तक यह बिल्कुल वही नहीं देती जो आप चाहते हैं।
कब इस्तेमाल करें
- JSONPath का उपयोग करने वाले टूल के लिए query draft करना: jq जैसी CLI utilities, Postman tests, Stedi, n8n, या AWS CloudWatch / Step Functions।
- Script लिखे बिना बड़ी API response से specific fields निकालना।
- Array को field value के आधार पर filter करना (जैसे "सभी orders जहाँ total > 100")।
- Code में plumb करने से पहले यह जांचना कि deeply nested path वास्तव में किसी value पर resolve होता है।
Quick syntax reference
$— document का root।.nameया['name']— नाम से child।..— recursive descent (किसी भी गहराई)।*— wildcard (कोई भी property या array element)।[n]— array index (negative अंत से गिनता है)।[start:end:step]— array slice (Python-style)।[a, b, c]— indices या names का union।[?(@.field > 5)]— filter expression.@= current item;== != < > <= >= && ||और=~ /regex/को support करता है।
आम गलतियाँ
- JSONPath की कोई एक official spec नहीं है। मूल Stefan Gössner draft वर्षों से de-facto reference रहा है; RFC 9535 (Feb 2024) ने अंततः इसे standardise किया। Implementations में थोड़ा अंतर है — जो Postman में काम करता है वह Jaeger में काम नहीं कर सकता।
- Dot बनाम bracket।
$.foo-barparser को "foo minus bar" जैसा दिखता है; hyphens, dots, या spaces वाले property names के लिए$['foo-bar']का उपयोग करें। - यहाँ filter expressions JavaScript-flavoured हैं — यह एक जानबूझकर सुविधा है लेकिन RFC 9535 से सख्ती से मेल नहीं खाती। इस टूल के filters के दूसरे implementation में byte-identical काम करने पर भरोसा न करें।
$..*tree में हर node लौटाता है (depth-first), जो बहुत हो सकता है। एक अपरिचित document का अन्वेषण करने के लिए उपयोगी।- Numeric strings।
{"1": "a"}—$['1']के साथ access काम करता है;$.1नहीं करता (numbers dot-property names के रूप में valid नहीं हैं)। - Ordering। JSON द्वारा object property order की गारंटी नहीं है। यदि आपका filter order पर निर्भर है, तो पहले sort करें।