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로 변환하기


+ Recent posts