해당 제이쓴 파싱 해보기
)테스트용 파싱 코드
String json_str = "";
JSONObject json = newJSONObject
("{\"name\":\"일길동\",\"age\":30,\"hobby\":[\"독서\",\"낚시\"]}");
String name = json.getString("name"); int age = json.getInt("age");
System.out.printf("이름:%s, 나이:%d\n", name, age);
JSONArray hobbyArray = json.getJSONArray("hobby");
for(int i = 0; i<hobbyArray.length(); i++) {
String hobby = hobbyArray.getString(i);
System.out.printf("취미 %d : %s\n", i+1, hobby);
}
)조회 서블릿 코드
List<PersonVo> p_list = new ArrayList<PersonVo>();
try {
String str_url = "http://localhost:8080/2024_0709_JSONTest/person.jsp";
URL url = new URL(str_url);
// 이용하는 이유: 요청시 헤더정보 전달(인증키)
URLConnection urlConn = url.openConnection();//
InputStream is = url.openStream();
// 필터링(line단위로 읽어온다)
BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8"));
StringBuilder sb = new StringBuilder();
while (true) {
String data = br.readLine(); // line단위로 읽어옴
if(data==null)break;
sb.append(data);
}
//JSON Parsing
JSONObject json = new JSONObject(sb.toString());
int size = json.getInt("size");
JSONArray personArray = json.getJSONArray("list");
for(int i=0; i<personArray.length(); i++) {
JSONObject person = personArray.getJSONObject(i);
// person = {"name":일길동, "age":31, "tel":"010-111-1234"}
String name = person.getString("name");
int age = person.getInt("age");
String tel = person.getString("tel");
PersonVo vo = new PersonVo(name, age, tel);
p_list.add(vo);
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
request.setAttribute("p_list", p_list);
// Dispatcher형식으로 호출
String forward_page = "result_json.jsp";
RequestDispatcher disp = request.getRequestDispatcher(forward_page);
disp.forward(request, response);
'JSON' 카테고리의 다른 글
JSON - 카카오API활용예제(지역) (0) | 2024.07.09 |
---|---|
JSON - 카카오 API 설정 (0) | 2024.07.09 |