예전에 Post 안에 Reply를 그냥 리턴해서 오류가 난 적이 있다.
JSON안에 값이 JSON의 배열인 형태였는데, 오늘 강의를 보며 이를 다루는 걸 다시봤다.
String타입으로 받아온 JSON데이터.
ResponseEntity에서 getBody를 통해 가져왔다.
Body의 내용을 보면 키-값으로 이루어진 맵의 형태이지만,
"items"키의 값은 배열 안에 또다른 JSON형태의 데이터들이다.
이렇게 값이 배열인 경우, 배열의 하나하나의 값이 JSON인 배열인 경우 JSONArray를 통해 배열형태로 가져올 수 있다.
- 키값을 직접 명시해서 해당 키의 값에 해당하는 배열을 가져오는 형태.
그런 뒤 items라는 배열을 반복하며 Object인 item을 JSONObject로 형변환해서 ItemDto로 생성해준다.
생성자를 보면 직접 JSONObject를 받아주는 값으로 각각의 키값을 명시하며 get[데이터타입]메소드로 값을 가져온다.
List<ItemDto>로 최종 출력된 모습.
https://thiswooin.tistory.com/40
이전에 위 내용을 몰랐을 때 내부 dto를 따로 만들어서 해결했던 적이 있다.
어떤 방법이 더 좋을 지 질문을 좀 해봐야 할듯하다.
더불어서 교재 구매도.. 필요해보인다!
'TIL : Today I learned (or Week)' 카테고리의 다른 글
TIL 230714 : MOCK객체란 (사용케이스 추가, given, willReturn) (0) | 2023.07.18 |
---|---|
TIL 230713 : 테스트코드..? (0) | 2023.07.17 |
WIL 230709 : 스프링를 훑어 보며 (0) | 2023.07.09 |
TIL 230707 : 다른 팀의 발표를 보고 (0) | 2023.07.07 |
TIL 230706 : 해시태그 조회 구현하기 (map활용 카운트하는 방식) (0) | 2023.07.07 |