इस ट्यूटोरियल में हम देखेंगे कि विभिन्न पुस्तकालयों का उपयोग करके जावा में JSON को कैसे पार्स किया जाए।
JSON जावास्क्रिप्ट ऑब्जेक्ट नोटेशन के लिए खड़ा है, और यह जावास्क्रिप्ट के सबसेट पर आधारित है।
डेटा-एक्सचेंज प्रारूप के रूप में, यह वेब प्रोग्रामिंग में व्यापक रूप से उपयोग किया जाता है। यहां हम दिखाते हैं कि जावा में JSON को कैसे पार्स किया जाए org.json
पुस्तकालय।
JSON ऑब्जेक्ट कुंजी/मान युग्मों का एक अनियंत्रित सेट है। एक JSON सरणी मानों का एक क्रमबद्ध संग्रह है। मान स्वयं ऑब्जेक्ट या सरणियाँ हो सकते हैं।
हम इस JSON को एक उदाहरण के रूप में पार्स करेंगे ताकि pageName
. के लिए मान प्राप्त किए जा सकें , pagePic
और post_id
{
"pageInfo": {
"pageName": "Homepage",
"logo": "https://www.example.com/logo.jpg"
},
"posts": [
{
"post_id": "0123456789",
"actor_id": "1001",
"author_name": "Jane Doe",
"post_title": "How to parse JSON in Java",
"comments": [],
"time_of_post": "1234567890"
}
]
}
org.json का उपयोग करके JSON को पार्स करें
जावा में JSON को पार्स करने के लिए org.json का उपयोग करने के लिए, आपको लाइब्रेरी को एक निर्भरता के रूप में जोड़ना होगा। इसे मावेन रिपॉजिटरी से प्राप्त किया जा सकता है
import org.json.JSONArray;
import org.json.JSONObject;
public class ParseJSON {
static String json = "...";
public static void main(String[] args) {
JSONObject obj = new JSONObject(json);
String pageName = obj.getJSONObject("pageInfo").getString("pageName");
System.out.println(pageName);
JSONArray arr = obj.getJSONArray("posts");
for (int i = 0; i < arr.length(); i++) {
String post_id = arr.getJSONObject(i).getString("post_id");
System.out.println(post_id);
}
}
}
एन.बी. ...
JSON स्ट्रिंग द्वारा प्रतिस्थापित करने की आवश्यकता है। स्पष्टता के लिए इसे उपरोक्त कोड से हटा दिया गया है।
सबसे पहले, हमें JSONObject क्लास का उपयोग करके JSON स्ट्रिंग को JSON ऑब्जेक्ट में बदलना होगा।
साथ ही, ध्यान दें कि "पेजइन्फो" एक JSON ऑब्जेक्ट है, इसलिए हम getJSONObject विधि का उपयोग करते हैं।
इसी तरह, "पोस्ट" एक JSON ऐरे है, इसलिए हमें getJSONArray विधि का उपयोग करने की आवश्यकता है।
संबंधित:
- Java ऑब्जेक्ट को JSON में कैसे बदलें
- जावा मैप को JSON में कैसे बदलें
- JSON को एन्कोड और डिकोड कैसे करें
Gson का उपयोग करके JSON को पार्स करें
जावा में JSON को पार्स करने के लिए Gson का उपयोग करने के लिए, आपको लाइब्रेरी को एक निर्भरता के रूप में जोड़ना होगा। आप मावेन रिपॉजिटरी से नवीनतम संस्करण प्राप्त कर सकते हैं
नीचे दिया गया उदाहरण दिखाता है कि उपरोक्त JSON को Gson के साथ कैसे पार्स किया जाए।
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class ParseJSON {
static String json = "...";
public static void main(String[] args) {
JsonObject jsonObject = new JsonParser().parse(json).getAsJsonObject();
String pageName = jsonObject.getAsJsonObject("pageInfo").get("pageName").getAsString();
System.out.println(pageName);
JsonArray arr = jsonObject.getAsJsonArray("posts");
for (int i = 0; i < arr.size(); i++) {
String post_id = arr.get(i).getAsJsonObject().get("post_id").getAsString();
System.out.println(post_id);
}
}
}
पिछले उदाहरण की तरह, ...
JSON स्ट्रिंग द्वारा प्रतिस्थापित करने की आवश्यकता है।
JsonPATH का उपयोग करके JSON को पार्स करें
उपरोक्त दो उदाहरणों में रुचि की संपत्ति में मूल्य तक पहुंचने से पहले JSON को जावा ऑब्जेक्ट में पूर्ण रूप से अक्रमांकन करने की आवश्यकता होती है। एक अन्य विकल्प, जो इस मार्ग पर नहीं जाता है, वह है JsonPATH का उपयोग करना जो JSON के लिए XPath की तरह है और JSON ऑब्जेक्ट को ट्रैवर्स करने की अनुमति देता है।
पहले की तरह, आपको JsonPATH को एक निर्भरता के रूप में जोड़ना होगा, जिसे मावेन रिपॉजिटरी से प्राप्त किया जा सकता है
उदाहरण के लिए, उपरोक्त JSON को पार्स करने के लिए हम इसका उपयोग कर सकते हैं:
import com.jayway.jsonpath.JsonPath;
public class ParseJSON {
static String json = "...";
public static void main(String[] args) {
String pageName = JsonPath.read(json, "$.pageInfo.pageName");
System.out.println(pageName);
Integer posts = JsonPath.read(json, "$.posts.length()");
for(int i=0; i < posts; i++) {
String post_id = JsonPath.read(json, "$.posts[" + i + "].post_id");
System.out.println(post_id);
}
}
}