Home > Java > javaTutorial > How Can I Efficiently Parse JSON Data from a URL in Java?

How Can I Efficiently Parse JSON Data from a URL in Java?

Linda Hamilton
Release: 2024-12-21 04:12:14
Original
738 people have browsed it

How Can I Efficiently Parse JSON Data from a URL in Java?

Parsing JSON from a URL in Java

While reading and parsing JSON from a URL in Java may seem straightforward, seemingly verbose examples can lead to confusion. However, with the help of third-party libraries, the process can be significantly simplified.

JSON Parsing with org.json

Utilizing the Maven artifact org.json:json provides a more concise solution:

JsonReader.java

import org.json.JSONException;
import org.json.JSONObject;

import java.io.*;
import java.net.URL;
import java.nio.charset.Charset;

public class JsonReader {

    // Utility method to read a stream and return its contents as a string
    private static String readAll(Reader rd) throws IOException {
        StringBuilder sb = new StringBuilder();
        int cp;
        while ((cp = rd.read()) != -1) {
            sb.append((char) cp);
        }
        return sb.toString();
    }

    // Method to read a JSON response from a URL and return it as a JSONObject
    public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
        InputStream is = new URL(url).openStream();
        try {
            BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
            String jsonText = readAll(rd);
            JSONObject json = new JSONObject(jsonText);
            return json;
        } finally {
            is.close();
        }
    }

    public static void main(String[] args) throws IOException, JSONException {
        // Example usage: reading from Facebook's Graph API
        JSONObject json = readJsonFromUrl("https://graph.facebook.com/19292868552");
        System.out.println(json.toString());
        System.out.println(json.get("id"));
    }
}
Copy after login

Example Usage

In the main method, you can see an example of retrieving data from Facebook's Graph API, printing both the full JSON response and extracting a specific value (the "id" property).

Conclusion

This improved solution provides a concise and efficient way to read and parse JSON data from a URL in Java, greatly simplifying the task.

The above is the detailed content of How Can I Efficiently Parse JSON Data from a URL in Java?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template