Java是一種廣泛使用的編程語言,特別是在開發(fā)Web應(yīng)用程序和為Web服務(wù)提供API時(shí)很受歡迎。使用Java獲取JSON數(shù)據(jù)是Web開發(fā)中常見的任務(wù)之一。我們可以使用Java的get方法從Web服務(wù)中獲取JSON數(shù)據(jù)。
import java.net.HttpURLConnection; import java.net.URL; import java.util.Scanner; public class GetJSONData { public static void main(String[] args) { try { // 創(chuàng)建URL對象 URL url = new URL("https://jsonplaceholder.typicode.com/posts/1"); // 創(chuàng)建HTTP連接對象 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 設(shè)置請求方式 conn.setRequestMethod("GET"); // 設(shè)置連接超時(shí)時(shí)間 conn.setConnectTimeout(5000); // 設(shè)置讀取超時(shí)時(shí)間 conn.setReadTimeout(5000); // 建立連接 conn.connect(); // 獲取JSON數(shù)據(jù) Scanner sc = new Scanner(url.openStream()); StringBuilder sb = new StringBuilder(); while (sc.hasNext()) { sb.append(sc.nextLine()); } String jsonString = sb.toString(); // 打印JSON數(shù)據(jù) System.out.println(jsonString); // 關(guān)閉連接和輸入流 sc.close(); conn.disconnect(); } catch (Exception e) { e.printStackTrace(); } } }
在上面的代碼中,我們首先創(chuàng)建一個(gè)URL對象來訪問Web服務(wù),然后創(chuàng)建一個(gè)HttpURLConnection對象來進(jìn)行連接。我們設(shè)置請求方式為GET,連接和讀取超時(shí)時(shí)間都為5秒。
為了獲取JSON數(shù)據(jù),我們需要下載URL的內(nèi)容。我們可以通過使用Scanner類從URL的輸入流中讀取數(shù)據(jù)來完成。StringBuilder類用于將JSON數(shù)據(jù)存儲,直到我們讀取完整個(gè)JSON字符串。最后,我們將JSON字符串打印到控制臺上。
最后,不要忘記關(guān)閉連接和輸入流!這是Java程序的最佳實(shí)踐之一,可以避免資源泄漏。