json -> vo 매핑{json(array포함)} Gson사용
gson을 사용해서 vo와 매핑 되는걸 알고 있었는데...
json 안에 array가 있을때 매핑 방법을 찾게되었다.
찾아본 결과 json 데이터에 array가 있을땐
mainVO안에 List<subVO>를 만들어 사용하면 된다.
ex)
json파일 형식
MainVO
subVO
MainVO와같은 형식으로 생성한다.
당연히 될줄알았던게 안되서 깜짝놀랐다. 확인해본결과
gson을 사용해서 list로 변환 하게되면 특수문자/가 치환되지않는 간단한 문제였다.
ex)
gson 사용시
출력 결과:
[{"test":"21100248891","link":[{"subtest":"https:\/\/codebeautify.org\/jsonviewer","@_subData":"20171212"},{"subtest":"https:\/\/codebeautify.org\/jsonviewer","@_subData":"20171213"}],"@_data":"21680485"},{"test":"21100248891","link":[{"subtest":"https:\/\/codebeautify.org\/jsonviewer","@_subData":"20171212"},{"subtest":"https:\/\/codebeautify.org\/jsonviewer","@_subData":"20171213"}],"@_data":"21680485"}]
치환이 안되어 있는 것을 확인 할 수 있다.
StringEscapeUtils.escapeHtml3(치환할문자열); <-형식으로 변경가능하다.
jsonsimple 사용시
출력결과:
[{test=21100248891, @_data=21680485, link=[{subtest=https://codebeautify.org/jsonviewer, @_subData=20171212}, {subtest=https://codebeautify.org/jsonviewer, @_subData=20171213}]}, {test=21100248891, @_data=21680485, link=[{subtest=https://codebeautify.org/jsonviewer, @_subData=20171212}, {subtest=https://codebeautify.org/jsonviewer, @_subData=20171213}]}]
jsonsimple이 자동으로 /를 치환해줌을 볼 수 있다.
VO매핑방법은 다시 gson을 이용하여 매핑해주면된다.
위방법으로 매핑하면 깔끔하게 매핑되는걸 확인할 수 있다.
추가)
배열 ArrayList로 변환하기
'개발 소발 > 개발 java(기초)' 카테고리의 다른 글
JAVA 기초 문자열 개념, 문자열 비교 (0) | 2018.01.25 |
---|---|
JAVA 기초 조건문(if,switch문) (0) | 2018.01.25 |
JAVA 기초 변수와 문자열 (0) | 2018.01.25 |
java 람다식 사용예 (0) | 2018.01.24 |
톰캣(Tomcat) 설명 및 war ROOT설정 (0) | 2018.01.24 |