Menghuraikan JSON daripada URL dalam Java
Semasa membaca dan menghuraikan JSON daripada URL dalam Java mungkin kelihatan mudah, contoh yang kelihatan bertele-tele boleh membawa kepada kekeliruan. Walau bagaimanapun, dengan bantuan perpustakaan pihak ketiga, proses itu boleh dipermudahkan dengan ketara.
JSON Parsing dengan org.json
Menggunakan artifak Maven org.json: json menyediakan yang lebih ringkas penyelesaian:
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")); } }
Contoh Penggunaan
Dalam kaedah utama, anda boleh melihat contoh mendapatkan semula data daripada API Graf Facebook, mencetak kedua-dua respons JSON penuh dan mengekstrak nilai tertentu ("id" property).
Kesimpulan
Penyelesaian yang dipertingkatkan ini menyediakan cara yang ringkas dan cekap untuk membaca dan menghuraikan data JSON daripada URL di Java, dengan sangat memudahkan tugas.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghuraikan Data JSON dengan Cekap daripada URL dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!