[Java] json-simple 라이브러리와 ObjectMapper로 JSON 데이터 처리하기

bin·2023년 7월 12일
0
post-thumbnail

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 데이터를 가공해봅시다.

1. Dependency 추가 및 ReBuild (Gradle 기준)

implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'

2. Key를 사용하여 JSON 문자열을 JSON 객체로 변환

String responseStr = response.getBody(); // JSON 문자열
JSONParser parser = new JSONParser(); // 변환하기 위한 도구
JSONObject object = (JSONObject) parser.parse(responseStr); // responseStr를 key로 갖는 value를 JSON 객체로 변환

3. ObjectMapper로 JSON 객체를 Java 객체로 변환

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 객체로 변환) 
}

1개의 댓글

comment-user-thumbnail
2023년 7월 28일

잘 배워갑니당

답글 달기