在 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")); } }
使用示例
在main方法中可以看到一个例子从 Facebook 的 Graph API 检索数据、打印完整的 JSON 响应并提取特定值(“id”)
结论
这个改进的解决方案提供了一种简洁高效的方法来从 Java 中的 URL 读取和解析 JSON 数据,极大地简化了任务。
以上是如何在 Java 中高效解析 URL 中的 JSON 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!