Web/SpringBoot

[java]JSON, GSON, JSONObject, JsonObject 내가 한데까지 정리

벨포트조던 2019. 12. 27.
반응형

나는 json 이 생각보다 너무 복잡한거같다... 어렵다기보다는.. json 데이터를 컨트롤하는데 헷갈리는부분이 너무 많다.

 

가장 헷갈리는 부분은 json 라이브러리 종류가 많다는 거다. 

 

java로 예를 들면은

'org.json'

'com.google.gson'

두개를 많이 쓸텐데, 이 두개의 라이브러리에서 json오브젝트의 class가 JSONObject, JsonObject  이렇게 다르다. 그래서 검색이 힘들다. 명칭이 같아서

 

그리고 spring 기본 json오브젝트 처리 방법은 아마도 org.json 으로 셋팅 되어있을것이다. gson을 쓰려면 따로 설정해주어야 한다.  아래와같은 에러가 난다면.. 

json error(Could not write JSON: JsonObject; nested exception is com.fasterxml.jackson.databind.JsonMappingException)

- https://okky.kr/article/416504  참고

 답 : spring json 기본 컨버터가 jackson 이므로 gson 으로 컨버터시 오류가 발생하는 것입니다.

 

 

 

아무튼 Gson이 자주 사용하므로 gson 기반으로 설명하겠다. 

 

기본코드

GSON

1
2
3
4
5
6
7
8
9
 public String parse(String jsonLine) {
    JsonElement jelement = new JsonParser().parse(jsonLine);
    JsonObject  jobject = jelement.getAsJsonObject();
    jobject = jobject.getAsJsonObject("data");
    JsonArray jarray = jobject.getAsJsonArray("translations");
    String result = jobject.get("translatedText").toString();
    return result;
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
 

 

정리를 해야되는데.... 너무 짜잘하고 경우의 수가 많아서 출처로 대신함. 

 

- java에서 json 사용 ( 기본사용법 보기 좋음 )

https://yookeun.github.io/java/2017/05/27/java-gson/

 

- json 파싱 (JsonObject, JsonArray, JsonElement)

https://like-tomato.tistory.com/83

 

 

 

반응형

댓글