본문 바로가기
study/Java

[Jsoup] 27. KEB하나은행 환율정보 조회하기 (JSON형태) (jsoup2.jsp)

by 금이패런츠 2022. 5. 19.
728x90
반응형

jsoup2.jsp

<%@page import="org.json.simple.parser.JSONParser"%>
<%@page import="java.io.IOException"%>
<%@page import="org.json.simple.JSONArray"%>
<%@page import="org.json.simple.JSONObject"%>
<%@page import="org.jsoup.Jsoup"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- /jsoup1/src/main/webapp/jsoup2.jsp --%>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>KEB하나은행 완율정보 조회하기 (JSON형태)</title>
<style type="text/css">
	table, td, th {border:2px solid grey; border-collapse: collapse;}
</style>
</head>
<body>
<%
	String url = "http://fx.kebhana.com/FER1101M.web";
	String line = "";
	String title = "";
	
	try {
		String kebhana = Jsoup.connect(url).get().text();
		System.out.println(kebhana);
		String strJson = kebhana.substring(kebhana.indexOf("{"));
		JSONParser jsonParser = new JSONParser();
		JSONObject json = (JSONObject)jsonParser.parse(strJson.trim());
		out.println("환율기준일:" + json.get("날짜").toString() + "<br>");
		JSONArray array = (JSONArray)json.get("리스트");
		for(int i = 0; i < array.size(); i++) {
			JSONObject obj = (JSONObject)array.get(i);
			String str = obj.get("통화명").toString();
			out.println(str + "&nbsp;&nbsp; : &nbsp;&nbsp;");
			out.println(obj.get("매매기준율").toString() + "<br>");
		}
	} catch(IOException e) {
		e.printStackTrace();
	}
%>
</body>
</html>
728x90
반응형