>Java >java지도 시간 >Java의 URL에서 JSON 데이터를 효율적으로 구문 분석하려면 어떻게 해야 합니까?

Java의 URL에서 JSON 데이터를 효율적으로 구문 분석하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-21 04:12:14696검색

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으로 문의하세요.