자바에서 URL로부터 json을 읽는 간단한 방법
조회수 18008회
멍청한 질문일수도있는데 자바에서 URL로부터 JSON은 파싱해 읽어오는 가장 간단한 방법이 뭔가요 Groovy에서는 코드 몇줄이면 되는데 제가 찾은 자바의 예제들은 다 말도안되게 긴 코드밖에 없어요. 좀 간단하게 구현된 소스는 없나요?
1 답변
-
원하시는것처럼 짧진 않겠지만...
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.URL; import java.nio.charset.Charset; import org.json.JSONException; import org.json.JSONObject; public class JsonReader { 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(); } 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 { JSONObject json = readJsonFromUrl("https://graph.facebook.com/19292868552"); System.out.println(json.toString()); System.out.println(json.get("id")); } }
댓글 입력