इस प्रोजेक्ट के बारे में
Jayway JsonPath एक Java लाइब्रेरी है जो JsonPath क्वेरी भाषा को लागू करती है, जिससे डेवलपर्स XML के लिए XPath के समान पथ अभिव्यक्तियों का उपयोग करके JSON दस्तावेज़ों से डेटा निकाल सकते हैं। यह Stefan Goessner के JsonPath कार्यान्वयन का एक पोर्ट है और Maven Central पर उपलब्ध है।
## मुख्य विशेषताएँ
- **पथ अभिव्यक्तियाँ**: JSON संरचनाओं को नेविगेट करने के लिए डॉट नोटेशन (`$.store.book[0].title`) और ब्रैकेट नोटेशन (`$['store']['book'][0]['title']`) का समर्थन करता है।
- **ऑपरेटर**: वाइल्डकार्ड (`*`), डीप स्कैन (`..`), ऐरे स्लाइसिंग (`[start:end]`), और फ़िल्टर एक्सप्रेशन (`[?(<expression>)]`) शामिल हैं।
- **फ़ंक्शन**: बिल्ट-इन फ़ंक्शन जैसे `min()`, `max()`, `avg()`, `length()`, `sum()`, `first()`, `last()` और अधिक, जिन्हें पथ के अंत में लागू किया जा सकता है।
- **फ़िल्टर प्रेडिकेट्स**: जटिल फ़िल्टरिंग के लिए लॉजिकल ऑपरेटर (`&&`, `||`, `!`) और तुलना ऑपरेटर (`==`, `!=`, `<`, `>`, `=~`, `in`, `nin`, आदि) का समर्थन करता है।
- **फ्लूएंट API**: JSON दस्तावेज़ को दोबारा पार्स किए बिना बार-बार पढ़ने के लिए एक लचीला `ReadContext` प्रदान करता है।
- **कॉन्फ़िगरेशन विकल्प**: `Configuration` और `Option` फ्लैग के माध्यम से अनुकूलन योग्य, जैसे `ALWAYS_RETURN_LIST` और `SUPPRESS_EXCEPTIONS`।
- **कई JSON प्रोवाइडर**: JSON-smart (डिफ़ॉल्ट), Jackson, Gson, JSON-P, और JSON-B के लिए प्रोवाइडर के साथ आता है, जिससे विभिन्न JSON लाइब्रेरीज़ के साथ एकीकरण संभव होता है।
- **कैश SPI**: पार्स किए गए पथों के लिए प्लग करने योग्य कैशिंग का समर्थन करता है, जिसमें `LRUCache` और `NOOPCache` जैसे डिफ़ॉल्ट कार्यान्वयन शामिल हैं।
- **दस्तावेज़ संशोधन**: कुछ प्रोवाइडर में परिवर्तनीय JSON संरचनाओं के समर्थन के साथ, JSON दस्तावेज़ों में मान सेट, जोड़ और हटाने की अनुमति देता है।
## उपयोग उदाहरण
```java
String json = "...";
List<String> authors = JsonPath.read(json, "$.store.book[*].author");
```
बार-बार पढ़ने के लिए, एक बार पार्स करें:
```java
Object document = Configuration.defaultConfiguration().jsonProvider().parse(json);
String author = JsonPath.parse(document).read("$.store.book[0].author");
```
## आवश्यकताएँ
- संस्करण 3.0.0 के लिए Java 17 की आवश्यकता है और Jackson 3 का समर्थन करता है।
- Jackson, Gson, JSON-P, और JSON-B जैसे प्रोवाइडर को क्लासपाथ पर अतिरिक्त निर्भरताओं की आवश्यकता होती है।
## दस्तावेज़ीकरण
अधिक विवरण के लिए, [आधिकारिक दस्तावेज़ीकरण](http://www.javadoc.io/doc/com.jayway.jsonpath/json-path) देखें और Stack Overflow पर 'jsonpath' और 'java' टैग के साथ प्रश्न पूछें।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.