JSON क्वेरी
JSONPath की मदद से JSON डेटा से सिर्फ़ ज़रूरी वैल्यू निकालें।
उपयोग के उदाहरण
बड़ी API रिस्पॉन्स से सिर्फ़ ज़रूरी फ़ील्ड निकालना
पूरी रिस्पॉन्स JSON को छानने के बजाय, $.data.items[*].id जैसे पाथ से ज़रूरी वैल्यू एक साथ निकालें।
किसी शर्त से मेल खाने वाले आइटम छाँटना
$.products[?(@.price<10000)] जैसा फ़िल्टर एक्सप्रेशन इस्तेमाल करके, कीमत, स्टॉक या किसी भी शर्त से मेल खाने वाले आइटम छाँट लें।
नेस्टेड स्ट्रक्चर में हर जगह से कोई खास की ढूंढना
रिकर्सिव डिसेंट सिंटैक्स, $..price, डॉक्यूमेंट में गहराई या पोज़िशन चाहे जो भी हो, उस नाम की हर की ढूंढ निकालता है।
अक्सर पूछे जाने वाले सवाल
क्या मैंने जो JSON और एक्सप्रेशन डाला वह सर्वर पर भेजा जाता है?
नहीं। क्वेरी पूरी तरह आपके ब्राउज़र में चलती है, और आपने जो डाला वह कभी सर्वर पर नहीं भेजा जाता।
मुझे JSONPath सिंटैक्स याद नहीं है।
आम पैटर्न ये हैं: $ का मतलब पूरा डॉक्यूमेंट, .key किसी खास की के लिए, [*] एरे के हर आइटम के लिए, [0] पहले आइटम के लिए, [?(@.price<10)] किसी शर्त से मेल खाने वाले आइटम छाँटने के लिए, और $..key किसी भी गहराई पर उस नाम की हर की ढूंढने के लिए।
मेरा नतीजा खाली है — ऐसा क्यों?
इसका मतलब हो सकता है कि पाथ किसी असली डेटा की ओर इशारा नहीं करता, या एक्सप्रेशन में सिंटैक्स एरर है — दोनों ही स्थिति में खाली नतीजा दिखता है। पाथ को एक-एक कदम छोटा करके देखें कि कहां मेल खाना बंद होता है।
क्या क्वेरी का नतीजा हमेशा एक एरे होता है?
हां। JSONPath हर मेल खाती वैल्यू को एक एरे में इकट्ठा करता है, चाहे सिर्फ़ एक ही वैल्यू मेल खाए — तब भी आपको लंबाई 1 वाला एरे मिलेगा।