首頁 >Java >java教程 >如何在 Java 中高效解析 URL 中的 JSON 資料?

如何在 Java 中高效解析 URL 中的 JSON 資料?

Linda Hamilton
Linda Hamilton原創
2024-12-21 04:12:14738瀏覽

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

在Java 中從URL 解析JSON

雖然在Java 中從URL 讀取和解析JSON 可能看起來很簡單,但看似冗長的範例可能會導致混亂。但是,在第三方函式庫的幫助下,可以顯著簡化該過程。

使用 org.json 進行 JSON 解析

利用 Maven 工件 org.json: json提供了更簡潔的解決方案:

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"));
    }
}

使用範例

使用範例

在方法中可以看到一個例子從Facebook 的Graph API 檢索資料、列印完整的JSON 回應並提取特定值(「id」)

結論

這個改進的解決方案提供了一種簡潔高效的方法來從Java 中的URL 讀取和解析JSON 數據,極大地簡化了任務。

以上是如何在 Java 中高效解析 URL 中的 JSON 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn