
JSONPath का एक फोर्क, http://goessner.net/articles/JsonPath/ से
(यह भी देखें डेवलपमेंट निर्भरताओं के लाइसेंस)
JSON दस्तावेज़ों (और JavaScript ऑब्जेक्ट्स) से डेटा का विश्लेषण, रूपांतरण और चयनात्मक निष्कर्षण करें।
jsonpath-plus मूल विनिर्देश का विस्तार करते हुए कुछ अतिरिक्त ऑपरेटर जोड़ता है और कुछ व्यवहारों को स्पष्ट करता है जिन्हें मूल विनिर्देश ने स्पष्ट नहीं किया था।
ब्राउज़र डेमो या Runkit (Node) आज़माएँ।
कृपया ध्यान दें: यह प्रोजेक्ट वर्तमान में सक्रिय रूप से अनुरक्षित नहीं है। हम अच्छी तरह से प्रलेखित PR या कुछ सरल अपडेट स्वीकार कर सकते हैं, लेकिन हम स्वयं सुधार करने या नई सुविधाएँ जोड़ने के लिए तत्पर नहीं हैं।
^~@null(), @boolean(), @number(), @string(), @array(), @object()@integer()@scalar() (जो JavaScript ऑब्जेक्ट्स पर क्वेरी करते समय undefined और
गैर-परिमित संख्याओं के साथ-साथ सभी मूल गैर-ऑब्जेक्ट/गैर-फ़ंक्शन प्रकारों को भी स्वीकार करता है)@other() जो उपयोगकर्ता-परिभाषित otherTypeCallback के साथ संयोजन में उपयोग योग्य है@undefined(), @function(), @nonFinite())@path/@parent/@property/@parentProperty/@root शॉर्टहैंड सेलेक्टर`@['...']/?@['...'] सिंटैक्स$.. दस्तावेज़ (सभी पैरेंट घटक प्राप्त करना)jsonpath-plus json-querying-performance-testing के अनुसार अन्य json क्वेरी लाइब्रेरीज़ की तुलना में बड़े और छोटे दोनों डेटासेट के साथ लगातार प्रभावशाली प्रदर्शन करता है। आप प्रोजेक्ट को स्वयं चलाकर और अधिक परफॉर्मेंस मामले जोड़कर इन निष्कर्षों को सत्यापित कर सकते हैं।
npm install jsonpath-plus
## सेटअप
### Node.js```js
const {JSONPath} = require('jsonpath-plus');
const result = JSONPath({path: '...', json});
ब्राउज़र उपयोग के लिए आप सीधे dist/index-browser-umd.cjs शामिल कर सकते हैं; कोई
Browserify जादू आवश्यक नहीं है:```html
### ESM (आधुनिक ब्राउज़र)
आप आधुनिक ब्राउज़रों के लिए ES6 मॉड्यूल imports का भी उपयोग कर सकते हैं:```html
<script type="module">
import {
JSONPath
} from './node_modules/jsonpath-plus/dist/index-browser-esm.js';
const result = JSONPath({path: '...', json: {}});
</script>
या यदि आप अपने JavaScript को बंडल कर रहे हैं (जैसे, Rollup के साथ), तो बस उपयोग करें,
यह ध्यान रखते हुए कि mainFields
को ब्राउज़र बिल्ड के लिए browser शामिल करना चाहिए (Node के लिए, डिफ़ॉल्ट, जो
module की जाँच करता है, ठीक होना चाहिए):```js
import {JSONPath} from 'jsonpath-plus';
const result = JSONPath({path: '...', json});
## उपयोग
पूर्ण हस्ताक्षर उपलब्ध है:```
const result = JSONPath([options,] path, json, callback, otherTypeCallback);
The arguments path, json, callback, और otherTypeCallback
को वैकल्पिक रूप से (उपलब्ध अन्य किसी भी गुण के साथ) options पर
व्यक्त किया जा सकता है।
ध्यान दें कि result में मिली सभी वस्तुएँ होंगी (वैकल्पिक रूप से
एक सरणी में लपेटी गई) जबकि callback का उपयोग तब किया जा सकता है यदि आप
प्रत्येक वस्तु की खोज होने पर कोई कार्य करना चाहते हैं, जिसमें
callback फ़ंक्शन को परिणाम में मिलने वाली स्वतंत्र वस्तुओं की संख्या के
आधार पर 0 से N बार निष्पादित किया जाता है।
JSONPath के उपलब्ध तर्कों के बारे में अधिक जानकारी के लिए नीचे दिए गए दस्तावेज़ देखें।
API दस्तावेज़ भी देखें।
options ऑब्जेक्ट या evaluate विधि (पहले तर्क के रूप में) पर आपूर्ति किए जा सकने वाले गुणों में शामिल हैं: