logo
GeekFormat

JSONPath क्वेरी

JSONPath ऑनलाइन क्वेरी टूल, $.property प्रॉपर्टी एक्सेस, [n] ऐरे इंडेक्स, [*] वाइल्डकार्ड, [start:end] ऐरे स्लाइस, ?() सशर्त फ़िल्टर एक्सप्रेशन को सपोर्ट करता है। JSON और पाथ दर्ज करने के बाद रीयल-टाइम क्वेरी (400ms डिबाउंस) होती है, फ़ॉर्मेटेड JSON व्यू और अलाइन्ड टेबल व्यू के बीच ड्यूल मोड स्विच को सपोर्ट करता है। 8 सामान्य पाथ उदाहरण अंतर्निहित हैं, JSON सिंटैक्स त्रुटियाँ ऑटो-रिपेयर कर सकते हैं, JSON फ़ाइल अपलोड, क्वेरी परिणाम डाउनलोड, कीबोर्ड शॉर्टकट, स्वचालित स्थानीय इतिहास सेव को सपोर्ट करता है, बाएँ-दाएँ पैनल की चौड़ाई समायोजित कर सकते हैं, फ़ॉन्ट आकार स्विच कर सकते हैं। सभी पार्सिंग और क्वेरी ब्राउज़र स्थानीय रूप से पूरी होती है, कोई भी डेटा अपलोड नहीं किया जाता, QA इंटरफ़ेस एसर्शन परीक्षण, बैकएंड लॉग फ़ील्ड निष्कर्षण डीबग, फ्रंटएंड API इंटीग्रेशन प्रतिक्रिया संरचना सत्यापन के लिए उपयुक्त।

संबंधित सुझाव

उपयोग के मामले

  • QA परीक्षण इंजीनियर इंटरफ़ेस स्वचालित परीक्षण लिखने से पहले लक्ष्य फ़ील्ड को सही ढंग से निकाल सकता है या नहीं, यह JSONPath एसर्शन एक्सप्रेशन को इंटरैक्टिव रूप से सत्यापित करते हैं
  • बैकएंड डेवलपर जटिल नेस्टेड इंटरफ़ेस प्रतिक्रियाओं को डीबग करते समय गहरे फ़ील्ड पाथ को तुरंत ढूँढते हैं, मैन्युअल रूप से स्तर-दर-स्तर विस्तार करने की आवश्यकता नहीं
  • फ्रंटएंड तृतीय-पक्ष API को इंटीग्रेट करते समय प्रतिक्रिया JSON संरचना को तुरंत सत्यापित करते हैं, कोड लिखने से पहले फ़ील्ड पाथ की पुष्टि करते हैं
  • संचालन/बैकएंड ELK, Jaeger लॉग में JSON फ़ील्ड की जांच करते समय विशिष्ट फ़ील्ड मान तुरंत निकालकर समस्या का विश्लेषण करते हैं
  • डेटा विश्लेषण से पहले JSON API प्रतिक्रिया डेटा पर सशर्त फ़िल्टरिंग करते हैं, शर्त पूरी करने वाले रिकॉर्ड फ़िल्टर करने के बाद ही आगे की प्रक्रिया करते हैं
  • Postman, JMeter, RestAssured जैसे टूल में JSON एक्सट्रैक्टर कॉन्फ़िगर करने से पहले, बार-बार इंटरफ़ेस चलाने से बचने के लिए स्थानीय स्तर पर एक्सप्रेशन डीबग करते हैं
  • बैच JSON डेटा प्रोसेस करते समय, नया डेटा संरचना बनाने के लिए आवश्यक फ़ील्ड सबसेट को तुरंत निकालते हैं
  • JSONPath सिंटैक्स सीखते समय रीयल-टाइम फ़ीडबैक के माध्यम से विभिन्न सिंटैक्स लेखन को तुरंत सत्यापित करते हैं, समझ गहरी करते हैं
  • वेब क्रॉलर विकास डीबग करते समय JSON API प्रतिक्रिया से डेटा निष्कर्षण पाथ सही है या नहीं सत्यापित करते हैं
  • API दस्तावेज़ लिखते समय नमूना JSON के पाथ को टूल से सत्यापित करने के बाद दस्तावेज़ उदाहरण में लिखते हैं
  • मोबाइल डेवलपर इंटरफ़ेस डीबग करते हैं, कंप्यूटर खोजने की आवश्यकता के बिना फ़ील्ड निष्कर्षण को तुरंत सत्यापित करने के लिए फोन पर अस्थायी रूप से टूल खोलते हैं
  • Code Review के दौरान सहकर्मी द्वारा लिखे गए JSONPath एक्सप्रेशन सही हैं और अपेक्षित मान प्राप्त कर सकते हैं या नहीं जांचते हैं

विशेषताएं

  • संपूर्ण व्यावहारिक सिंटैक्स सपोर्ट: $.property प्रॉपर्टी एक्सेस, [n] ऐरे इंडेक्स (अंतिम आइटम के लिए [-1] सहित), [*] वाइल्डकार्ड, [start:end] ऐरे स्लाइस, ?() सशर्त फ़िल्टरिंग (==/!=/>/</>=/<= तुलना को सपोर्ट करता है)
  • रीयल-टाइम क्वेरी: JSON या पाथ दर्ज करने के बाद 400ms डिबाउंस के साथ स्वचालित रूप से क्वेरी निष्पादित होती है, बटन क्लिक करने की आवश्यकता नहीं, परिणाम तुरंत अपडेट होते हैं
  • JSON/तालिका ड्यूल व्यू: क्वेरी परिणाम सुंदर JSON व्यू और अलाइन्ड टेबल व्यू के बीच स्विच करने को सपोर्ट करता है, ऑब्जेक्ट ऐरे परिणाम स्वचालित रूप से कॉलम के अनुसार अलाइन होकर प्रदर्शित होते हैं, त्वरित ब्राउज़िंग के लिए सुविधाजनक
  • 8 अंतर्निहित उदाहरण: ड्रॉपडाउन मेनू 8 सामान्य पाथ उदाहरण प्रदान करता है (रूट ऑब्जेक्ट, सभी पुस्तकें, पहला/अंतिम आइटम, स्लाइस, मूल्य निष्कर्षण, सशर्त फ़िल्टरिंग आदि), क्लिक करके तुरंत भरें
  • सिंटैक्स हेल्प पॉपअप: एक क्लिक से हेल्प पैनल खोलें 6 मुख्य सिंटैक्स त्वरित संदर्भ और कीबोर्ड शॉर्टकट विवरण देखें, Mac/Windows के लिए शॉर्टकट प्रदर्शन स्वचालित रूप से अनुकूलित करें
  • स्मार्ट ऑटो-रिपेयर: जब JSON में फ़ॉर्मेट त्रुटि होती है, तो सुधार योग्य समस्याओं का स्वचालित रूप से पता लगाता है, एक क्लिक से सामान्य JSON सिंटैक्स त्रुटियाँ (अल्पविराम की कमी, उद्धरण चिह्न, ट्रेलिंग अल्पविराम आदि) ठीक करें
  • एक-क्लिक फ़ॉर्मेटिंग: अंतर्निहित JSON फ़ॉर्मेटिंग फ़ंक्शन है, Shift+Cmd/Ctrl+F दबाकर इनपुट JSON को तुरंत सुंदर बनाएं, सुव्यवस्थित रूप से व्यवस्थित स्तर पढ़ने में आसान
  • फ़ाइल अपलोड और डाउनलोड: सामग्री सीधे पढ़ने के लिए .json/.txt फ़ाइल अपलोड करने को सपोर्ट करता है, एक क्लिक से क्वेरी परिणाम query-result.json फ़ाइल के रूप में डाउनलोड करें
  • कीबोर्ड शॉर्टकट: Shift+Cmd/Ctrl कॉम्बिनेशन कुंजियाँ (Enter क्वेरी, F फ़ॉर्मेट, O अपलोड, D डाउनलोड, K साफ़ करें), संचालन दक्षता बढ़ाएँ
  • स्थानीय इतिहास: हाल ही के 200 इनपुट स्वचालित रूप से ब्राउज़र localStorage में सहेजता है, अगली बार खोलने पर पिछली सामग्री स्वचालित रूप से पुनर्स्थापित करता है, बार-बार पेस्ट करने की आवश्यकता नहीं
  • एडजस्टेबल पैनल चौड़ाई: PC पर मध्य विभाजक पट्टी खींचकर बाएँ-दाएँ पैनल चौड़ाई अनुपात समायोजित कर सकते हैं, JSON संरचना के अनुसार लचीले ढंग से स्थान आवंटित करें
  • फ़ॉन्ट आकार स्विच: 14px/16px कोड फ़ॉन्ट आकार स्विच करने को सपोर्ट करता है, लंबे समय तक डीबगिंग के दौरान आँखों की सुरक्षा करता है
  • मोनोस्पेस कोड संपादक: CodeMirror पर आधारित सिंटैक्स हाइलाइटिंग, पंक्ति संख्या प्रदर्शन, कोष्ठक मिलान कार्यान्वित, पेशेवर और सहज संपादन अनुभव
  • पूर्ण ब्राउज़र स्थानीय प्रसंस्करण: सभी JSON पार्सिंग, पाथ मैचिंग, सशर्त फ़िल्टरिंग स्थानीय JavaScript में पूरी होती है, डेटा सर्वर पर अपलोड नहीं किया जाता, संवेदनशील इंटरफ़ेस डेटा और लॉग के साथ आश्वस्त रूप से उपयोग करें

उपयोग कैसे करें

  1. त्वरित अनुभव के लिए टूलबार पर「उदाहरण」बटन क्लिक करके नमूना JSON लोड करें, या अपना स्वयं का JSON डेटा बाएँ संपादक में पेस्ट/अपलोड करें
  2. ऊपर क्वेरी बॉक्स में JSONPath एक्सप्रेशन दर्ज करें (सामान्य पाथ चुनने के लिए दाईं ओर「उदाहरण」बटन क्लिक कर सकते हैं), $ से शुरू करें या सीधे प्रॉपर्टी पाथ लिखें दोनों चलेंगे
  3. दर्ज करने के बाद 400ms में स्वचालित क्वेरी होगी, दाईं ओर तुरंत परिणाम प्रदर्शित होंगे; फ़ॉर्मेटेड संरचना देखने के लिए「JSON व्यू」या अलाइन्ड सूची देखने के लिए「तालिका दृश्य」स्विच कर सकते हैं
  4. एक्सप्रेशन सही सत्यापित होने के बाद परिणाम सहेजने के लिए कॉपी या डाउनलोड बटन क्लिक करें, Postman/JMeter जैसे टूल में उपयोग करने के लिए JSONPath एक्सप्रेशन भी कॉपी कर सकते हैं

सामान्य प्रश्न

कौन से JSONPath सिंटैक्स सपोर्ट करते हैं?

निम्नलिखित व्यावहारिक सिंटैक्स को सपोर्ट करता है: ①$.property या ['property'] से ऑब्जेक्ट प्रॉपर्टी एक्सेस; ②[n] से इंडेक्स के अनुसार ऐरे एलिमेंट एक्सेस (n 0 से शुरू होता है, [-1] का अर्थ अंतिम एलिमेंट है); ③[*] या .* वाइल्डकार्ड, ऐरे के सभी एलिमेंट या ऑब्जेक्ट के सभी प्रॉपर्टी मान को मैच करता है; ④[start:end] ऐरे स्लाइस, निर्दिष्ट सीमा के एलिमेंट प्राप्त करता है; ⑤?(@.field op value) सशर्त फ़िल्टरिंग, छह तुलना ऑपरेटर ==/!=/>/</>=/<= को सपोर्ट करता है, स्ट्रिंग और संख्यात्मक तुलना को सपोर्ट करता है।

ऐरे में शर्त पूरी करने वाले एलिमेंट कैसे निकालें?

?() सशर्त फ़िल्टर एक्सप्रेशन का उपयोग करें। उदाहरण के लिए $.store.book[?(@.price < 80)] 80 से कम कीमत वाली पुस्तकें फ़िल्टर करता है, $.store.book[?(@.category == 'प्रोग्रामिंग')] प्रोग्रामिंग श्रेणी की पुस्तकें फ़िल्टर करता है। ध्यान दें कि प्रॉपर्टी नाम से पहले @. होना चाहिए जो वर्तमान एलिमेंट को दर्शाता है, स्ट्रिंग मान एकल या दोहरे उद्धरण चिह्नों में बंद होने चाहिए।

ऐरे का पहला/अंतिम/N पहले एलिमेंट कैसे प्राप्त करें?

[0] पहला एलिमेंट लेता है, [-1] अंतिम एलिमेंट लेता है, [0:2] इंडेक्स 0 से 1 तक के पहले 2 एलिमेंट लेता है (स्लाइस बाईं ओर बंद दाईं ओर खुला है, end इंडेक्स शामिल नहीं), उदाहरण के लिए $.store.book[0:3] पहली 3 पुस्तकें लेता है।

तालिका दृश्य और JSON दृश्य में क्या अंतर है?

JSON दृश्य मानक इंडेंटेशन के साथ फ़ॉर्मेटेड JSON परिणाम प्रदर्शित करता है, पूरी नेस्टेड संरचना को बनाए रखता है, पूर्ण डेटा कॉपी करने और देखने के लिए उपयुक्त है; तालिका दृश्य स्वचालित रूप से ऑब्जेक्ट ऐरे परिणामों को प्रॉपर्टी कॉलम के अनुसार अलाइन करके प्रदर्शित करता है, एक्सेल तालिका के समान, कई रिकॉर्ड ब्राउज़ करते समय अधिक सहज ज्ञान युक्त होता है, सभी पंक्तियों के फ़ील्ड मानों को जल्दी से स्कैन करके अंतर की तुलना कर सकते हैं। सरल प्रकार के परिणाम भी कुंजी-मान जोड़े के अनुसार अलाइन होकर प्रदर्शित होते हैं।

JSON पार्सिंग त्रुटि का संकेत मिलने पर क्या करें?

यदि इनपुट JSON में सिंटैक्स त्रुटि है (अल्पविराम की कमी, उद्धरण चिह्न मेल नहीं खा रहे, अतिरिक्त ट्रेलिंग अल्पविराम, एकल उद्धरण आदि), त्रुटि क्षेत्र लाल चेतावनी प्रदर्शित करेगा, और「त्रुटि ठीक करें」बटन दिखाई देगा, क्लिक करके सामान्य JSON समस्याओं को स्वचालित रूप से ठीक करने का प्रयास करें। आप पहले फ़ॉर्मेट करने के लिए Shift+Cmd/Ctrl+F भी उपयोग कर सकते हैं, यदि फ़ॉर्मेटिंग त्रुटि की रिपोर्ट करती है तो इसका अर्थ है कि JSON में वास्तव में समस्या है, ठीक करने के बाद ही क्वेरी करें।

क्वेरी के बाद कोई परिणाम प्रदर्शित नहीं होता?

कृपया जांचें: ①JSON मान्य और सही है या नहीं (सत्यापित करने के लिए फ़ॉर्मेट बटन क्लिक कर सकते हैं); ②JSONPath पाथ की वर्तनी सही है या नहीं, प्रॉपर्टी नाम केस-सेंसिटिव हैं; ③पाथ मौजूद है या नहीं (उदाहरण के लिए मौजूदा प्रॉपर्टी एक्सेस करने से त्रुटि होगी); ④फ़िल्टर एक्सप्रेशन सिंटैक्स सही है या नहीं, कोष्ठक और उद्धरण चिह्न मेल खा रहे हैं या नहीं।

अंतर्निहित उदाहरण कैसे उपयोग करें?

क्वेरी बॉक्स के दाईं ओर「उदाहरण」बटन (नीचे तीर) पर क्लिक करें, ड्रॉपडाउन मेनू 8 सामान्य पाथ उदाहरण सूचीबद्ध करेगा, किसी भी उदाहरण पर क्लिक करने से पाथ एक्सप्रेशन स्वचालित रूप से भर जाएगा। साथ ही पहले「उदाहरण」बटन क्लिक करके नमूना JSON डेटा (बुकस्टोर डेटा) लोड करने की सलाह दी जाती है, फिर प्रभाव का अनुभव करने के लिए नमूना पाथ का उपयोग करें।

कौन से शॉर्टकट हैं?

लगातार Shift+Cmd(Mac)/Shift+Ctrl(Windows) कॉम्बिनेशन कुंजियों का उपयोग करें: Shift+Enter क्वेरी निष्पादित करें, Shift+F JSON फ़ॉर्मेट करें, Shift+O फ़ाइल अपलोड करें, Shift+D परिणाम डाउनलोड करें, Shift+K सभी सामग्री साफ़ करें। हेल्प बटन (? आइकन) में किसी भी समय शॉर्टकट की पूरी सूची देख सकते हैं।

सशर्त फ़िल्टरिंग किन तुलना ऑपरेटरों को सपोर्ट करती है?

छह तुलना ऑपरेटरों को सपोर्ट करता है: == (बराबर), != (बराबर नहीं), > (बड़ा), < (छोटा), >= (बड़ा या बराबर), <= (छोटा या बराबर)। संख्यात्मक तुलना संख्या आकार के अनुसार की जाती है, स्ट्रिंग तुलना शब्दकोश क्रम के अनुसार की जाती है, स्ट्रिंग मान एकल या दोहरे उद्धरण चिह्नों में बंद होने चाहिए।

क्या पाथ $ से शुरू होना चाहिए?

अनिवार्य नहीं है। स्वचालित रूप से आरंभ में $. जोड़ देगा, सीधे store.book[0] दर्ज करना भी सामान्य रूप से काम कर सकता है, सिस्टम स्वचालित रूप से निष्पादन के लिए $.store.book[0] में मानकीकृत करेगा। हालाँकि, मानक JSONPath विनिर्देश रूट नोड को इंगित करने के लिए $ से शुरू करने की सलाह देता है।

मेरे द्वारा पहले दर्ज की गई सामग्री अगली बार खोलने पर भी क्यों मौजूद है?

यह टूल स्वचालित रूप से हाल ही में दर्ज किए गए JSON को ब्राउज़र स्थानीय localStorage में सहेजता है (अधिकतम 200 इतिहास), अगली बार पेज खोलने पर पिछली सामग्री स्वचालित रूप से पुनर्स्थापित हो जाती है, हर बार इंटरफ़ेस प्रतिक्रिया परिणाम दोबारा पेस्ट करने की आवश्यकता नहीं है। साफ़ करें बटन (Shift+K) वर्तमान सामग्री हटा देगा।

क्या JSON फ़ाइल अपलोड कर सकते हैं?

हाँ। टूलबार पर「अपलोड」बटन क्लिक करें या Shift+O दबाएँ, स्थानीय .json या .txt फ़ाइल चुनकर फ़ाइल सामग्री स्वचालित रूप से पढ़कर इनपुट बॉक्स में भरें। क्वेरी परिणाम भी「डाउनलोड」बटन क्लिक करके या Shift+D दबाकर स्थानीय रूप से query-result.json फ़ाइल के रूप में सहेज सकते हैं।

क्या यह Postman/JMeter इंटरफ़ेस एसर्शन करने के लिए उपयुक्त है?

बहुत उपयुक्त है। इंटरफ़ेस डीबग करते समय, इंटरफ़ेस द्वारा लौटाया गया JSON टूल में पेस्ट करें, क्वेरी परिणाम अपेक्षा के अनुरूप होने तक JSONPath एक्सप्रेशन को इंटरैक्टिव रूप से समायोजित करें, फिर सत्यापित एक्सप्रेशन को Postman परीक्षण स्क्रिप्ट, JMeter JSON Extractor, स्वचालित परीक्षण फ्रेमवर्क में कॉपी करके उपयोग करें, ऑनलाइन डीबग समय को काफी कम कर सकता है।

क्या मेरे द्वारा दर्ज किया गया इंटरफ़ेस डेटा सर्वर पर अपलोड किया जाएगा?

नहीं। सभी JSON पार्सिंग, JSONPath पाथ मैचिंग, सशर्त फ़िल्टरिंग, तालिका फ़ॉर्मेटिंग आपके ब्राउज़र स्थानीय JavaScript में पूरी होती है, इनपुट JSON सामग्री नेटवर्क के माध्यम से किसी भी सर्वर पर नहीं भेजी जाती है, पेज बंद करने के बाद केवल स्थानीय localStorage ही रखता है (साफ़ कर सकते हैं), संवेदनशील व्यावसायिक डेटा और अभी लॉन्च नहीं हुए इंटरफ़ेस डेटा के साथ आश्वस्त रूप से उपयोग कर सकते हैं।

क्या वाइल्डकार्ड [*] ऑब्जेक्ट पर उपयोग कर सकते हैं?

हाँ। [*] ऐरे पर उपयोग करने से ऐरे के सभी एलिमेंट लौटते हैं; ऑब्जेक्ट पर उपयोग करने से (जैसे $.store.*) ऑब्जेक्ट के सभी प्रॉपर्टी मानों से युक्त ऐरे लौटता है। प्रॉपर्टी के साथ संयोजन में उपयोग करने पर, जैसे $.store.book[*].author, ऐरे के सभी एलिमेंट की author प्रॉपर्टी निकाल सकते हैं, लेखक सूची बनाते हुए।

JSONPath और डेटा निष्कर्षण के बारे में

JSONPath JSON दस्तावेज़ से निर्दिष्ट डेटा निकालने के लिए उपयोग की जाने वाली पाथ एक्सप्रेशन भाषा है, जो XML के लिए XPath की भूमिका के समान है। API विकास और परीक्षण में, इंटरफ़ेस द्वारा लौटाया गया JSON अक्सर गहरे स्तर और अत्यधिक नेस्टेड होता है, फ़ील्ड खोजने के लिए मैन्युअल रूप से स्तर-दर-स्तर विस्तार करना कम दक्षता और त्रुटि-प्रवण होता है। JSONPath का उपयोग करके एक पंक्ति एक्सप्रेशन के साथ लक्ष्य डेटा को सटीक रूप से ढूँढ़ और निकाल सकते हैं, यह इंटरफ़ेस डीबगिंग, स्वचालित परीक्षण, डेटा निष्कर्षण परिदृश्यों में डेवलपर्स के लिए आवश्यक टूल है।

JSONPath का मुख्य डिज़ाइन विचार डेटा स्थिति का वर्णन करने के लिए पाथ प्रतीकों का उपयोग करना है: $ रूट नोड (संपूर्ण JSON ऑब्जेक्ट) को दर्शाता है, बिंदु . या वर्ग कोष्ठक [] चाइल्ड प्रॉपर्टी एक्सेस करते हैं, [n] इंडेक्स के अनुसार ऐरे एलिमेंट एक्सेस करता है, [*] सभी एलिमेंट मैच करता है, [start:end] ऐरे खंड स्लाइस करता है, ?() शर्त के अनुसार ऐरे एलिमेंट फ़िल्टर करता है। यह सिंटैक्स सेट संक्षिप्त लेकिन अभिव्यंजक है, अधिकांश डेटा निष्कर्षण आवश्यकताओं को पूरा कर सकता है।

सशर्त फ़िल्टरिंग JSONPath की सबसे व्यावहारिक विशेषताओं में से एक है, फ़िल्टर लॉजिक व्यक्त करने के लिए ?(@.फ़ील्ड ऑपरेटर मान) रूप का उपयोग करती है, उदाहरण के लिए ?(@.price < 100) मूल्य फ़ील्ड 100 से कम वाले ऐरे आइटम फ़िल्टर करती है, ?(@.status == 'active') सक्रिय स्थिति वाले रिकॉर्ड फ़िल्टर करती है। @ वर्तमान में पुनरावृत्त किए जा रहे ऐरे एलिमेंट का प्रतिनिधित्व करता है, @.field वर्तमान एलिमेंट के विशिष्ट फ़ील्ड तक पहुँचता है, यह सशर्त फ़िल्टरिंग को बहुत सहज बनाता है।

सीधे कोड में डीबग करने के बजाय विशेष JSONPath टूल की आवश्यकता क्यों है? क्योंकि इंटरफ़ेस स्वचालित एसर्शन या डेटा निष्कर्षण कोड लिखते समय, यदि JSONPath गलत लिखा है, तो आपको बार-बार इंटरफ़ेस चलाना, लॉग प्रिंट करना, कोड संशोधित करना और फिर से चलाना पड़ सकता है, दक्षता बहुत कम है। ऑनलाइन टूल में इंटरैक्टिव डीबगिंग सेकंडों में परिणाम देख सकती है, एक्सप्रेशन समायोजित करें और तुरंत फ़ीडबैक प्राप्त करें, सही सत्यापित होने के बाद ही कोड में कॉपी करें, बहुत डीबग समय बचा सकते हैं।

तालिका दृश्य व्यावहारिक विशेषता है जो इस टूल को कई समान टूल से अलग बनाती है: जब क्वेरी परिणाम ऑब्जेक्ट ऐरे होता है (यह इंटरफ़ेस द्वारा लौटाया जाने वाला सबसे सामान्य सूची रूप है), स्वचालित रूप से सभी ऑब्जेक्ट की कुंजियों को तालिका हेडर के रूप में निकालता है, प्रत्येक पंक्ति डेटा को अलाइन करके प्रदर्शित करता है, एक्सेल तालिका ब्राउज़िंग अनुभव के समान, इंडेंटेड JSON में पंक्ति-दर-पंक्ति फ़ील्ड मान खोजने की तुलना में कहीं अधिक सहज ज्ञान युक्त होता है, बस एक त्वरित नज़र से कई रिकॉर्ड के फ़ील्ड अंतर की तुलना कर सकते हैं।

JSON त्रुटियाँ ऑटो-रिपेयर भी वास्तविक विकास परिदृश्यों के लिए डिज़ाइन की गई सुविधा है: लॉग, दस्तावेज़, चैट विंडो से कॉपी किए गए JSON में अक्सर विभिन्न छोटी समस्याएं होती हैं — एकल उद्धरण का उपयोग, अल्पविराम की कमी, अंतिम आइटम में अतिरिक्त ट्रेलिंग अल्पविराम, प्रॉपर्टी नाम में दोहरे उद्धरण नहीं आदि, मैन्युअल रूप से ठीक करना परेशानी भरा होता है, इस टूल की ऑटो-रिपेयर सुविधा एक क्लिक से अधिकांश सामान्य JSON फ़ॉर्मेट समस्याओं को संभाल सकती है, त्रुटियों को वर्ण-दर-वर्ण खोजने की आवश्यकता नहीं।

स्थानीय इतिहास उच्च-आवृत्ति उपयोग के लिए अनुकूलित छोटा विवरण है: डेवलपर्स को अक्सर एक ही इंटरफ़ेस को बार-बार डीबग करना पड़ता है, हर बार टूल खोलकर JSON फिर से पेस्ट करना बहुत परेशानी भरा होता है, यह टूल स्वचालित रूप से हाल ही में दर्ज सामग्री को ब्राउज़र स्थानीय संग्रहण में सहेजता है, अगली बार खोलने पर पिछली सामग्री स्वचालित रूप से पुनर्स्थापित करता है, 200 इतिहास दैनिक कार्य उपयोग के लिए पर्याप्त हैं। सभी डेटा केवल आपके अपने ब्राउज़र में संग्रहीत होते हैं, अपलोड नहीं किए जाते।

यह स्पष्ट करना आवश्यक है कि यह टूल व्यावहारिक मुख्य JSONPath सिंटैक्स सबसेट (प्रॉपर्टी एक्सेस, इंडेक्स, वाइल्डकार्ड, स्लाइस, सशर्त फ़िल्टरिंग) को सपोर्ट करता है, जो 90% से अधिक दैनिक विकास परिदृश्यों को कवर करता है। रिकर्सिव डिसेंट (..), स्क्रिप्ट एक्सप्रेशन, बहु-शर्त संयोजन जैसे उन्नत सिंटैक्स वर्तमान में समर्थित नहीं हैं। यदि आपके परिदृश्य को इन उन्नत सुविधाओं की आवश्यकता है, तो अधिक पूर्ण कार्यान्वयन लाइब्रेरी का उपयोग करना पड़ सकता है। अधिकांश इंटरफ़ेस डीबगिंग और फ़ील्ड निष्कर्षण आवश्यकताओं के लिए, वर्तमान सिंटैक्स सेट पूरी तरह से पर्याप्त और हल्का तेज़ है।

术语表

JSONPath
JSON डेटा से निर्दिष्ट भाग निकालने के लिए उपयोग की जाने वाली पाथ एक्सप्रेशन भाषा, XML के लिए XPath के समान, पाथ प्रतीकों के माध्यम से लक्ष्य डेटा स्थिति का वर्णन करती है।
रूट नोड ($)
JSONPath एक्सप्रेशन का प्रारंभ बिंदु, संपूर्ण JSON दस्तावेज़ के रूट ऑब्जेक्ट या रूट ऐरे को दर्शाता है, पाथ $ से शुरू हो सकता है, यह टूल $ छोड़कर सीधे पाथ लिखने को भी सपोर्ट करता है।
वर्तमान नोड (@)
फ़िल्टर एक्सप्रेशन में उपयोग किया जाता है, वर्तमान में पुनरावृत्त किए जा रहे ऐरे एलिमेंट को दर्शाता है, @.field वर्तमान एलिमेंट के निर्दिष्ट फ़ील्ड तक पहुँचने के लिए उपयोग किया जाता है।
प्रॉपर्टी एक्सेस (.property या ['property'])
ऑब्जेक्ट की निर्दिष्ट प्रॉपर्टी एक्सेस करने के दो तरीके: डॉट नोटेशन ($.store.book) संक्षिप्त है, क्वोटेड ब्रैकेट नोटेशन ($['store']['book']) विशेष वर्ण वाले प्रॉपर्टी नाम के लिए उपयुक्त है।
ऐरे इंडेक्स ([n])
स्थिति के अनुसार ऐरे एलिमेंट एक्सेस करता है, इंडेक्स 0 से शुरू होता है, [0] पहला एलिमेंट दर्शाता है, [-1] अंतिम एलिमेंट दर्शाता है।
वाइल्डकार्ड ([*] या .*)
वर्तमान स्थिति के सभी चाइल्ड आइटम मैच करता है: ऐरे पर उपयोग करने से सभी एलिमेंट लौटते हैं, ऑब्जेक्ट पर उपयोग करने से सभी प्रॉपर्टी मान लौटते हैं।
ऐरे स्लाइस ([start:end])
ऐरे के एक खंड एलिमेंट को स्लाइस करता है, बाईं ओर बंद दाईं ओर खुला अंतराल (start शामिल end शामिल नहीं), start छोड़ना आरंभ से शुरू होने का अर्थ है, end छोड़ना अंत तक जाने का अर्थ है।
सशर्त फ़िल्टर (?())
शर्त के अनुसार ऐरे एलिमेंट फ़िल्टर करता है, अंदर तुलना एक्सप्रेशन लिखें, छह प्रकार की तुलना ==/!=/>/</>=/<= को सपोर्ट करता है, स्ट्रिंग मान उद्धरण चिह्नों में बंद होने चाहिए।
Postman एसर्शन
Postman इंटरफ़ेस परीक्षण टूल में Tests स्क्रिप्ट, इंटरफ़ेस द्वारा लौटाए गए फ़ील्ड निकालने के लिए JSONPath का उपयोग करके एसर्शन सत्यापन करती है, इंटरफ़ेस स्वचालित परीक्षण में सामान्य तरीका है।
डिबाउंस (Debounce)
इनपुट रुकने के बाद क्वेरी निष्पादन में देरी करने की अनुकूलन तकनीक (यह टूल 400ms है), हर कुंजी दबाने पर क्वेरी दोबारा होने से बचाती है, इनपुट सुगमता बढ़ाती है।
CodeMirror
ब्राउज़र-आधारित कोड संपादक घटक, सिंटैक्स हाइलाइटिंग, पंक्ति संख्या, कोष्ठक मिलान जैसी पेशेवर कोड संपादन सुविधाएँ प्रदान करता है, यह टूल JSON संपादन क्षेत्र के रूप में इसका उपयोग करता है।
स्थानीय प्रसंस्करण
सभी JSON पार्सिंग और क्वेरी लॉजिक उपयोगकर्ता ब्राउज़र के भीतर JavaScript में निष्पादित होती है, डेटा सर्वर पर अपलोड नहीं किया जाता, तेज़ और सुरक्षित, संवेदनशील डेटा प्रोसेसिंग के लिए उपयुक्त।

JSONPath मुख्य सिंटैक्स त्वरित संदर्भ तालिका

यह टूल जिन सभी सिंटैक्स को सपोर्ट करता है:

सिंटैक्सविवरणउदाहरण परिणाम (नमूना बुकस्टोर JSON)
$रूट ऑब्जेक्ट, संपूर्ण JSON लौटाता हैसंपूर्ण store ऑब्जेक्ट
$.store.book[0]book ऐरे के पहले एलिमेंट तक पहुँच (इंडेक्स 0 से शुरू)एडवांस्ड जावास्क्रिप्ट पुस्तक
$.store.book[-1]ऐरे के अंतिम एलिमेंट तक पहुँचयूजर एक्सपीरियंस एलीमेंट्स पुस्तक
$.store.book[*]वाइल्डकार्ड, ऐरे के सभी एलिमेंट लौटाता हैसभी 3 पुस्तकों से युक्त ऐरे
$.store.book[0:2]ऐरे स्लाइस, इंडेक्स 0 से 1 लेता है (बाईं ओर बंद दाईं ओर खुला)पहली 2 पुस्तकें
$.store.book[*].authorऐरे के सभी एलिमेंट की author फ़ील्ड निकालें["झांग सान","ली सी","वांग वू"]
$.store.book[?(@.price < 80)]सशर्त फ़िल्टरिंग, price < 80 वाली पुस्तकें फ़िल्टर करेंपायथन और UX 2 पुस्तकें (मूल्य 79 और 59)
$.store.bicycle.colorडॉट द्वारा नेस्टेड ऑब्जेक्ट प्रॉपर्टी एक्सेस"लाल"

सशर्त फ़िल्टरिंग तुलना ऑपरेटर

?() फ़िल्टर एक्सप्रेशन द्वारा सपोर्टेड ऑपरेटर:

ऑपरेटरअर्थउदाहरण
==बराबर (संख्या और स्ट्रिंग सपोर्ट करता है)?(@.category == 'प्रोग्रामिंग')
!=बराबर नहीं?(@.status != 'deleted')
>बड़ा (संख्यात्मक तुलना)?(@.price > 100)
<छोटा?(@.price < 50)
>=बड़ा या बराबर?(@.age >= 18)
<=छोटा या बराबर?(@.count <= 100)

कीबोर्ड शॉर्टकट सूची

सभी शॉर्टकट Shift + Cmd(Mac)/Ctrl(Windows) कॉम्बिनेशन कुंजियों का उपयोग करते हैं:

क्रियाMac शॉर्टकटWindows शॉर्टकट
क्वेरी निष्पादित करें⇧ + ⌘ + EnterShift + Ctrl + Enter
JSON फ़ॉर्मेट करें⇧ + ⌘ + FShift + Ctrl + F
फ़ाइल अपलोड करें⇧ + ⌘ + OShift + Ctrl + O
परिणाम डाउनलोड करें⇧ + ⌘ + DShift + Ctrl + D
सामग्री साफ़ करें⇧ + ⌘ + KShift + Ctrl + K

Privacy & Security

इस JSONPath क्वेरी टूल के सभी JSON पार्सिंग, पाथ मैचिंग, सशर्त फ़िल्टरिंग, तालिका फ़ॉर्मेटिंग आपके ब्राउज़र के भीतर JavaScript में पूरी तरह से स्थानीय रूप से निष्पादित होती हैं। आपके द्वारा दर्ज किया गया JSON डेटा, क्वेरी पाथ और लौटाए गए परिणाम किसी भी सर्वर पर अपलोड नहीं किए जाएंगे, और न ही रिकॉर्ड, कैश या क्लाउड में संग्रहीत किए जाएंगे। इनपुट इतिहास केवल आपके ब्राउज़र स्थानीय localStorage (अधिकतम 200 आइटम) में सहेजा जाता है, आप साफ़ करें बटन या ब्राउज़र डेटा साफ़ करके हटा सकते हैं। संवेदनशील व्यावसायिक फ़ील्ड, अभी लॉन्च नहीं हुए इंटरफ़ेस डेटा, उत्पादन वातावरण लॉग के साथ आश्वस्त रूप से उपयोग करें, किसी भी डेटा रिसाव जोखिम नहीं है।

Authoritative References

Troubleshooting

संदेश「पाथ मौजूद नहीं है या मान null/undefined है」

इसका अर्थ है कि वर्तमान JSON में JSONPath पाथ के लिए संबंधित मान नहीं मिला। जांचें: ①प्रॉपर्टी नाम की वर्तनी और केस संवेदनशीलता सही है या नहीं (JSON केस-सेंसिटिव है); ②नेस्टेड स्तर सही है या नहीं, मध्यवर्ती परत मौजूद है या नहीं; ③ऐरे इंडेक्स सीमा से बाहर है या नहीं; ④JSON संरचना आपकी अपेक्षा के अनुरूप है यह पुष्टि करने के लिए पहले फ़ॉर्मेट क्लिक करें।

संदेश「गैर-ऐरे ऑब्जेक्ट पर इंडेक्स/स्लाइस/फ़िल्टर का उपयोग करने का प्रयास」

इसका अर्थ है कि आपने गैर-ऐरे मान पर [] इंडेक्स, [start:end] स्लाइस या ?() फ़िल्टर का उपयोग किया है। ये ऑपरेशन केवल ऐरे पर उपयोग किए जा सकते हैं। जांचें कि पाथ के संबंधित स्थान पर वास्तव में ऐरे है या एकल ऑब्जेक्ट, वास्तविक संरचना की पुष्टि के लिए पहले वाइल्डकार्ड $ या रूट पाथ का उपयोग कर सकते हैं।

सशर्त फ़िल्टरिंग अपेक्षित परिणाम नहीं लौटाती

जांचें: ①@ के बाद बिंदु है या नहीं (@.field लिखना अनिवार्य है, बिंदु न भूलें); ②स्ट्रिंग मान एकल/दोहरे उद्धरण चिह्नों में बंद है या नहीं (?(@.name == zhangsan) गलत है, ?(@.name == 'zhangsan') लिखना चाहिए); ③संख्यात्मक मानों को उद्धरण चिह्न न दें, अन्यथा स्ट्रिंग के रूप में तुलना की जाएगी; ④तुलना ऑपरेटर के दोनों ओर अतिरिक्त रिक्त स्थान न हों।

संदेश「कोष्ठक मेल नहीं खा रहे」

इसका अर्थ है कि JSONPath एक्सप्रेशन के वर्ग कोष्ठक [] या फ़िल्टर कोष्ठक () सही ढंग से युग्मित नहीं हैं, जांचें कि बंद करने वाले ] या ) लिखना भूल गए हैं या नहीं, विशेष रूप से जब वर्ग कोष्ठक कई परतें नेस्टेड हों, ध्यान दें कि प्रत्येक [ का संगत ] होना चाहिए।