JSON(JavaScript Object Notation)
- Javascript에서 객체를 만들 때 사용하는 표현식
- 직렬화 가능한(serializable) 값이면서 map 구조(key:value)를 가진다.
REST API를 사용하다보면 JSON 형태의 문자열을 Java 객체로 변환해서 사용하는 등 JSON 데이터를 처리할 일이 많을 것입니다. 이 때, json-simple 라이브러리를 사용하여 JSON 문자열을 JSON 객체로 변환하고, 변환된 JSON 객체를 다시 Java 객체로 변환할 수 있습니다.
요약하면 다음과 같습니다.
json-simple 라이브러리
JSON 문자열을 JSON 객체로 변환에 사용
ObjectMapper
JSON 객체를 Java 객체로 변환에 사용
이제 실제로 JSON 데이터를 가공해봅시다.
implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
String responseStr = response.getBody(); // JSON 문자열
JSONParser parser = new JSONParser(); // 변환하기 위한 도구
JSONObject object = (JSONObject) parser.parse(responseStr); // responseStr를 key로 갖는 value를 JSON 객체로 변환
JSONArray item = (JSONArray) items.get("item"); // Json 객체를 List 형태로 변환
for(int i = 0; ...) {
JSONObject jsonObject = (JSONObject) item.get(i); // List 원소에 접근하여 Json 객체로 변환
Person person = objectMapper.convertValue(jsonObject, Person.class); // 역직렬화 (ObjectMapper로 JSON 객체를 Java 객체로 변환)
}
잘 배워갑니당