Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में JSON को कैसे पार्स करें

इस ट्यूटोरियल में हम देखेंगे कि विभिन्न पुस्तकालयों का उपयोग करके जावा में 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);
        }
    }
}

  1. एंड्रॉइड पर JSON ऑब्जेक्ट्स का विश्लेषण कैसे करें?

    यह उदाहरण दर्शाता है कि Android पर JSON ऑब्जेक्ट्स को कैसे पार्स किया जाए। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 − ग्रैडल स्क्रिप्ट में निम्न निर्भरता जोड़ें ⇒ बिल्ड.ग्रेडल और सिंक करें प्लग

  1. एंड्रॉइड पर JSON का विश्लेषण कैसे करें?

    यह उदाहरण दर्शाता है कि Android में JSON को कैसे पार्स किया जाए। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें। <?xml version="1.0"

  1. हम जावा में किसी फ़ाइल में JSON ऑब्जेक्ट कैसे लिख सकते हैं?

    द JSON व्यापक रूप से उपयोग किए जाने वाले डेटा-इंटरचेंज . में से एक है प्रारूप और एक हल्का . है और भाषा स्वतंत्र . json.simple एक हल्का JSON संसाधन पुस्तकालय है जिसका उपयोग JSON फ़ाइलें लिखने . के लिए किया जा सकता है और इसका उपयोग एन्कोड . के लिए किया जा सकता है या डीकोड JSON टेक्स्ट और J . के