spring

json 파싱 (json-simple)

2023. 6. 30. 15:25
목차
  1. build.gradle
  2. 사용

webClient의 response가 json 형식이어서 처음에는 dto를 만들어서 정보를 다 받자! 고 생각했는데 나에게 필요하지 않은 정보가 대다수여서 String으로 받은 후 json 파서를 이용해 필요한 정보만 저장하기로 했다. (정말 많은 정보가 response로 들어왔는데 필요한 field는 8개 정도였다)

 

Java 진영에서 많이 사용하는 Json 파서는 Jackson, GSON, json-simple 이렇게 3가지가 있는데 빅데이터 환경(Jackson)도 아니고, 마이크로 서비스나 분산 아키텍처 서비스(GSON)도 아니기 때문에 json-simple을 선택했다.

 

build.gradle

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

 

사용

기존의 메서드를 간략화했다.

먼저 JSONParser를 만들고, json을 parse한 jsonObj로 필요한 정보만 파싱하면 된다. 리스트라면 JSONArray를 사용한다.

private List<ResponseOrderDto> parseOrderList(String json){ //필요한 정보만 parsing
List<ResponseOrderDto> responseList = new ArrayList<>();
JSONParser parser = new JSONParser();
try {
JSONObject jsonObj = (JSONObject) parser.parse(json);
JSONObject data = (JSONObject) jsonObj.get("data");
JSONObject OrderItemList = (JSONObject) data.get("order_item_list");
JSONArray itemList = (JSONArray) partnerOrderItemList.get("item_list");
for(int i=0;i<itemList.size();i++){
JSONObject orderInfo = (JSONObject) itemList.get(i);
JSONObject order = (JSONObject) orderInfo.get("order");
String orderNumber = (String) order.get("order_number");
}
} catch (ParseException e) {
throw new ParsingException("주문 정보를 받아올 수 없습니다.");
}
return responseList;
}
  1. build.gradle
  2. 사용
'spring' 카테고리의 다른 글
  • redis test 환경 구축
  • spring security, jwt
  • WebClient
  • 예외 처리 - @RestControllerAdvice
hahihi
hahihi
hahihi
히호 노트
hahihi
전체
오늘
어제
  • 분류 전체보기 (224)
    • 알고리즘 (114)
      • 정렬 (3)
      • 그리디 (9)
      • 구현 (35)
      • 이분 탐색 (4)
      • 탐색 (2)
      • 동적 계획법 (DP) (11)
      • DFS BSF (29)
      • 최단 경로 (5)
      • 그래프 (4)
      • 주의할 점 (4)
      • 트리 (3)
    • spring (34)
      • JPA (12)
    • DevOps (10)
      • Docker (3)
    • java (15)
      • 이펙티브자바 (4)
      • Clean Code (4)
    • git (9)
    • DB (3)
    • 앱개발 (1)
    • 유닉스 (26)
    • 네트워크 (3)
      • IT 엔지니어를 위한 네트워크 입문 (3)
    • 유니티 (1)
    • 후기 (4)
    • 누누코코 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Docker
  • 도넛과 막대 그래프
  • 7465
  • 1868
  • 팀 결성
  • SWEA
  • 숫자 조각
  • 이코테
  • JWT
  • 입출력
  • 공통 response
  • dp
  • 그리디 알고리즘
  • 4193
  • BaseEntity
  • 백준
  • 프로그래머스
  • allowPublicKeyRetrieval
  • 13265
  • spring

최근 댓글

최근 글

hELLO · Designed By 정상우.
hahihi
json 파싱 (json-simple)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.