क्वेरी वर्कबेंच
एक JSONPath या JMESPath क्वेरी लिखें, वह भाषा चुनें जो आप चाहते थे, और देखें कि वह ठीक-ठीक क्या निकालती है।
इनपुट
इस दस्तावेज़ के लिए सिंटैक्स रंग बंद है, क्योंकि इतने बड़े टेक्स्ट को हर कीस्ट्रोक पर दोबारा रंगने से टाइपिंग धीमी हो जाती। सभी टूल सामान्य रूप से काम करते रहेंगे।
नतीजा
इस दस्तावेज़ के लिए सिंटैक्स रंग बंद है, क्योंकि इतने बड़े टेक्स्ट को हर कीस्ट्रोक पर दोबारा रंगने से टाइपिंग धीमी हो जाती। सभी टूल सामान्य रूप से काम करते रहेंगे।
नतीजा यहां दिखाई देगा।
यह पूरी तरह आपके ब्राउज़र में चलता है। आप जो पेस्ट करते हैं वह अपलोड नहीं होता, और आप इसे अपने ब्राउज़र के नेटवर्क टैब में देख सकते हैं।
इस टूल के बारे में
JSONPath और JMESPath अलग-अलग सवालों के जवाब देते हैं, इसलिए यह टूल कभी अंदाजा नहीं लगाता कि क्वेरी किस भाषा में लिखी गई है, क्वेरी बॉक्स के ऊपर वाला स्विच भाषा चुनता है। JSONPath दस्तावेज़ के भीतर जगहें ढूंढता है: हर मैच वही आकार बनाए रखता है जो उसका पहले से था। JMESPath इसके बजाय एक नई वैल्यू निकालता है: कोई pipe, multi-select या फ़ंक्शन कॉल डेटा को ऐसी चीज़ में बदल सकता है जो दस्तावेज़ में शब्दशः कभी नहीं थी, सिर्फ़ मांगे गए फ़ील्ड की एक सूची, एक अकेली संख्या, या किसी ऐसे फ़ील्ड से क्रमबद्ध दस्तावेज़ जो तीन स्तर नीचे दबा हुआ है। यह पेज पूरी JMESPath 1.0 भाषा लागू करता है, इसकी स्टैंडर्ड लाइब्रेरी के हर फ़ंक्शन सहित, जो नीचे सूचीबद्ध है। यह JSONata या jq-शैली के एक्सप्रेशन लागू नहीं करता, ये दोनों अपने-आप में काफ़ी बड़ी भाषाएं हैं, और यह इसे चुपचाप किसी और चीज़ पर फ़ॉलबैक करने के बजाय साफ़ बता देता है। JSONPath मोड इसी साइट के अलग JSONPath Tester वाला वही इंजन दोबारा उपयोग करता है; जब आप किसी मैच पर क्लिक करके उसे अपने दस्तावेज़ के भीतर हाइलाइट होते देखना चाहें तो उस टूल का उपयोग करें, क्योंकि यह पेज हमेशा जगहों की ब्राउज़ करने लायक सूची के बजाय एक गणना किया गया नतीजा छापता है।
कैसे उपयोग करें
- अपना JSON एडिटर में पेस्ट करें, या नमूना लोड करें।
- JSONPath या JMESPath चुनें, फिर एक क्वेरी लिखें या किसी उदाहरण पर क्लिक करें।
- दाईं ओर नतीजा पढ़ें। एक JMESPath क्वेरी एक नई वैल्यू निकालती है; एक JSONPath क्वेरी हर मैच की सूची देती है।
JMESPath फ़ंक्शन
पूरी स्टैंडर्ड लाइब्रेरी, वही 25 फ़ंक्शन जो विनिर्देश में दिए गए हैं।
| abs(number) | निरपेक्ष मान। |
| avg(array) | संख्याओं का औसत, खाली होने पर null। |
| ceil(number) | ऊपर की ओर राउंड करता है। |
| contains(subject, value) | सच अगर स्ट्रिंग या array में वह मौजूद हो। |
| ends_with(string, suffix) | सच अगर स्ट्रिंग उससे खत्म होती हो। |
| floor(number) | नीचे की ओर राउंड करता है। |
| join(glue, array) | स्ट्रिंग को एक सेपरेटर से जोड़ता है। |
| keys(object) | object की अपनी कीज़। |
| length(value) | कैरेक्टर, एलिमेंट या की की गिनती। |
| map(&expr, array) | हर एलिमेंट पर एक एक्सप्रेशन लागू करता है। |
| max(array) | सबसे बड़ी वैल्यू, खाली होने पर null। |
| max_by(array, &expr) | सबसे बड़ी गणना की गई वैल्यू वाला एलिमेंट। |
| merge(object, ...) | object को बाएं से दाएं, ऊपरी स्तर पर मर्ज करता है। |
| min(array) | सबसे छोटी वैल्यू, खाली होने पर null। |
| min_by(array, &expr) | सबसे छोटी गणना की गई वैल्यू वाला एलिमेंट। |
| not_null(value, ...) | पहला आर्ग्युमेंट जो null नहीं है। |
| reverse(value) | किसी स्ट्रिंग या array को उलट देता है। |
| sort(array) | संख्याओं या स्ट्रिंग को आरोही क्रम में लगाता है। |
| sort_by(array, &expr) | एक गणना की गई वैल्यू से, स्थिर ढंग से क्रम लगाता है। |
| starts_with(string, prefix) | सच अगर स्ट्रिंग उससे शुरू होती हो। |
| sum(array) | संख्याओं को जोड़ता है। |
| to_array(value) | गैर-एरे को एक में लपेटता है, एरे को जैसा है वैसा रखता है। |
| to_string(value) | वैल्यू को स्ट्रिंग के रूप में। |
| to_number(value) | मान एक संख्या के रूप में, null यदि इसे संख्या के रूप में नहीं पढ़ा जा सकता। |
| type(value) | JMESPath का टाइप नाम। |
| values(object) | object की अपनी वैल्यूज़। |
पूरी JSONPath सिंटैक्स तालिका चाहिए, या किसी मैच पर क्लिक करके उसे अपने दस्तावेज़ में हाइलाइट होते देखना चाहते हैं? इसके बजाय अलग JSONPath Tester का उपयोग करें।