JSONPath Evaluator ऑनलाइन
अपने JSON के विरुद्ध एक JSONPath expression टेस्ट करें और मैच लाइव देखें, सीधे आपके ब्राउज़र में। आपका डेटा आपके डिवाइस पर रहता है।
आपका JSON आपके ब्राउज़र में स्थानीय रूप से पार्स और क्वेरी होता है और कभी अपलोड नहीं होता, पर किसी भी ऑनलाइन टूल में संवेदनशील production डेटा पेस्ट करने से बचें।
पहले पूरा ट्री पढ़ना है? JSON Viewer आज़माएँ।
JSONPath Evaluator के बारे में
यह JSONPath evaluator आपको किसी JSON दस्तावेज़ को एक JSONPath expression से क्वेरी करने और टाइप करते ही मैच अपडेट होते देखने देता है। किसी भी JSON ऑब्जेक्ट या ऐरे को पेस्ट करें, $.store.book[*].author, $..price, या $.items[?(@.active)] जैसा पाथ डालें, और टूल दिखाता है कि कितने नोड मैच हुए, मैच की गई वैल्यू pretty-print की हुई JSON के रूप में, और इसके बजाय JSON Pointer देखने के लिए एक टॉगल। एक JSONPath tester के रूप में यह पूरा सिंटैक्स सपोर्ट करता है: $ रूट, डॉट और ब्रैकेट चाइल्ड एक्सेस, .. recursive descent ऑपरेटर, [*] wildcard, ऐरे slice, union, और @ तथा तुलनाओं के साथ filter expression। किसी भी उदाहरण expression पर क्लिक करके उसे क्वेरी बॉक्स में डालें। अमान्य JSON और टूटे पाथ खाली स्क्रीन के बजाय एक स्पष्ट एरर देते हैं। सब कुछ आपके ब्राउज़र में चलता है, इसलिए आपके द्वारा मूल्यांकित JSON आपके डिवाइस पर रहता है।
विशेषताएँ
- लाइव परिणाम: JSON या expression संपादित करते ही मैच की गिनती, वैल्यू, और पाथ अपडेट होते हैं
- मैच की गई वैल्यू (pretty JSON) और हर मैच के लिए JSON Pointer पाथ के बीच टॉगल करें
- recursive descent ($..), wildcard ([*]), ऐरे slice, union, और filter expression सपोर्ट करता है
- [?(@.price < 10)] या [?(@.active)] जैसे predicate से नोड सामग्री पर filter करें
- क्लिक करने योग्य उदाहरण expression जो एक टैप में क्वेरी बॉक्स भर देते हैं
- अमान्य JSON बनाम अमान्य JSONPath expression के लिए अलग-अलग एरर
- मैच की गई वैल्यू या पाथ की सूची को एक क्लिक में कॉपी करें
- पेज छोड़े बिना गहराई से नेस्टेड ऑब्जेक्ट और बड़े ऐरे संभालता है
JSONPath Evaluator का उपयोग कैसे करें
- बाईं ओर के JSON पैनल में अपना JSON पेस्ट या टाइप करें।
- क्वेरी बॉक्स में एक JSONPath expression डालें, या किसी उदाहरण पर क्लिक करें।
- दाईं ओर मैच की गई वैल्यू पढ़ें और ऊपर उनकी मैच गिनती जाँचें।
- हर मैच का JSON Pointer देखने के लिए Paths पर जाएँ, फिर परिणाम Copy करें।
उदाहरण
इनपुट
$.store.book[?(@.price < 10)].title
आउटपुट
[
"Sayings of the Century",
"Moby Dick"
]
एक filter expression केवल 10 से सस्ती किताबें रखता है, फिर हर title प्रोजेक्ट करता है।
सामान्य त्रुटियाँ और समस्या निवारण
- कोई पाथ लिखने से पहले ही परिणाम पैनल "Invalid JSON" दिखाता है। — पहले बाएँ पैनल में JSON ठीक करें — एक ट्रेलिंग कॉमा, सिंगल कोट्स, या बिना कोट वाली की उसे पार्स होने से रोक देगी। अनिश्चित हों तो इसे किसी JSON formatter से चलाएँ।
- [?(@.price < 10)] जैसा filter फ़ील्ड मौजूद होने पर भी कोई मैच नहीं लौटाता। — filter कच्ची वैल्यू की तुलना करते हैं, इसलिए सुनिश्चित करें कि फ़ील्ड एक नंबर है, स्ट्रिंग नहीं, और @ हर ऐरे तत्व को संदर्भित करता है। स्ट्रिंग तुलनाओं को कोट करें, जैसे [?(@.color=="red")]।
- $.book[0] कुछ नहीं लौटाता पर $..book[0] काम करता है। — $. केवल रूट से सटीक पाथ का अनुसरण करता है। यदि book नेस्टेड है, तो या तो पूरा पाथ लिखें या किसी भी गहराई पर खोजने के लिए .. recursive descent ऑपरेटर उपयोग करें।
अक्सर पूछे जाने वाले प्रश्न
- JSONPath में $.. और $. में क्या अंतर है?
- $. रूट से स्तर-दर-स्तर एक सटीक पाथ का अनुसरण करता है, इसलिए $.store.book केवल store के सीधे नीचे की book की से मैच करता है। $.. recursive descent ऑपरेटर है: $..book दस्तावेज़ में किसी भी गहराई पर हर book की खोजता है। जब आप निश्चित न हों कि कोई फ़ील्ड कहाँ है तो $.. उपयोग करें।
- क्या यह JSONPath evaluator filter expression सपोर्ट करता है?
- हाँ। filter [?(...)] सिंटैक्स उपयोग करते हैं जहाँ @ वर्तमान नोड है, उदाहरण के लिए $.items[?(@.active)] या $.store.book[?(@.price < 10)]। आप नंबर, स्ट्रिंग, और बूलियन की तुलना कर सकते हैं और शर्तों को && तथा || से जोड़ सकते हैं।
- Paths टॉगल क्या दिखाता है?
- यह हर मैच के लिए वैल्यू के बजाय एक JSON Pointer लौटाता है — /store/book/0/author जैसी स्ट्रिंग जो दस्तावेज़ में उस नोड का स्थान बताती है। Pointer तब उपयोगी हैं जब आपको यह जानना हो कि कोई वैल्यू कहाँ है, सिर्फ़ यह नहीं कि वह क्या है।
- मेरा expression अपेक्षा से अधिक परिणाम क्यों मैच करता है?
- Wildcard और recursive descent लालची होते हैं: [*] किसी ऐरे के हर तत्व या किसी ऑब्जेक्ट की हर प्रॉपर्टी से मैच करता है, और $.. पूरे ट्री पर चलता है। परिणाम को एक विशिष्ट की, एक इंडेक्स, [0:2] जैसे ऐरे slice, या एक filter से सीमित करें।
- क्या मैं एक साथ कई ऐरे तत्व चुन सकता हूँ?
- हाँ। विशिष्ट इंडेक्स चुनने के लिए [0,2] जैसा union उपयोग करें, या एक रेंज के लिए [1:3] जैसा slice और आखिरी तत्व के लिए [-1:]। दोनों पाथ से पहुँचे किसी भी ऐरे पर काम करते हैं।
- क्या क्वेरी चलाने पर मेरा JSON कहीं भेजा जाता है?
- नहीं। expression का मूल्यांकन पूरी तरह आपके ब्राउज़र में होता है, इसलिए आपके द्वारा पेस्ट किया गया JSON और चलाई गई क्वेरी आपके डिवाइस पर स्थानीय रूप से संसाधित होती हैं और अपलोड नहीं होतीं।
संबंधित टूल
- JSON फ़ॉर्मेटर — त्रुटि की स्थिति के साथ JSON को सुंदर बनाएँ, छोटा करें और वैलिडेट करें।
- JSON व्यूअर — विस्तृत/संक्षिप्त करने और नोड पाथ के साथ टेक्स्ट और फ़ोल्ड होने योग्य ट्री व्यूअर।
- JSON Flatten / Unflatten — नेस्टेड JSON को डॉट-नोटेशन कीज़ में फ़्लैटन करें, या वापस अनफ़्लैटन करें।
- JSON Diff — दो JSON दस्तावेज़ों की तुलना करें और एक संरचनात्मक diff देखें।
- JSON से CSV — सपाट JSON ऑब्जेक्ट के एरे को CSV में कन्वर्ट करें।
- YAML ↔ JSON — YAML को JSON में और वापस कन्वर्ट करें।
सभी ArrayKit टूल