일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- spring 설정 파일
- spring 에러
- egov
- Spring
- 스프링부트 post api
- Spring boot
- exceptiontransfer
- spring boot error
- javascript
- Spring REST API
- javascript class
- 자바스크립트 클래스
- javascript 클래스
- spring boot CRUD
- spring boot rest api
- pom.xml
- 디자인 패턴
- REST API
- 인텔리제이
- Oracle
- 스프링 에러
- 전자정부 샘플
- 메이븐
- 자바스크립트
- 자바스크립트 class
- 스프링
- 전자정부프레임워크
- 오라클
- Intellij
- spring boot post api
- Today
- Total
빵구의 개발 메꾸기
Gson 라이브러리 활용 본문
Object를 String 형태의 JSON으로 변환하거나 반대로 String 형태의 JSON을 Object로 변환해서 사용해야 하는 경우가
많은데 Gson 라이브러리를 활용하는 방법에 대해 알아보자.
<Gson 라이브러리 추가>
① maven repository 사이트에서 gson 라이브러리에 대해 gradle 탭에 있는 내용을 build.gradle 파일의
dependencies에 종속성을 추가해주도록 한다.
<Object ▶ String 형태의 JSON 또는 String 형태의 JSON ▶ Object 변환>
① Gson 객체 생성 시 두 가지 방법이 있다.
② Gson을 활용하기 위해 User와 Animal의 Object들에 대해 property들을 set 해준다.
③ User의 Object를 String 형태의 JSON으로 변환해준다.
④ {"name":"bkjo","address":"daejeon","animals":[{"name":"dog","isWalking":true},{"name":"fish","isWalking":false}, {"name":"cat","isWalking":true}]}
⑤ String 형태의 JSON을 User의 Object로 변환해준다.
⑥ User(name=bkjo, address=daejeon, animals= [Animal(name=dog, isWalking=true),
Animal(name=fish, isWalking=false), Animal(name=cat, isWalking=true)], testProperty1=null, testProperty2=null, testProperty3=null)
<List ▶ JsonArray 변환>
① List 타입의 animals를 JsonArray 타입으로 변환해준다.
② [{"name":"dog","isWalking":true},{"name":"fish","isWalking":false},{"name":"cat","isWalking":true}]
<JsonArray에서 JsonElement의 key값에 대한 타입 별 value 꺼내기>
① JsonElement의 name은 String 타입이므로 getAsString메서드를 호출한다.
② JsonElement의 isWalking은 boolean 타입이므로 getAsBoolean메서드를 호출한다.
<Map ▶ String 형태의 JSON 또는 String 형태의 JSON ▶ Map 변환>
① String 형태의 JSON을 Map으로 변환해준다.
② {name=bkjo, address=daejeon, animals=[{name=dog, isWalking=true}, {name=fish, isWalking=false},
{name=cat, isWalking=true}]}
③ Map을 String 형태의 JSON으로 변환해준다.
④ {"name":"bkjo","address":"daejeon","animals":[{"name":"dog","isWalking":true},{"name":"fish","isWalking":false},{"name":"cat","isWalking":true}]}
<String 형태의 JSON을 예쁘게 출력하기>
① setPrettyPrinting 메서드를 호출하여 Gson 객체를 생성한다.
② 다음과 같이 String 형태의 JSON을 예쁘게 출력해준다.
<Object의 null인 property에 대해 String 형태의 JSON 변환 시 제외>
① 일반적인 Gson 객체를 생성하여 Object를 String 형태의 JSON으로 변환시키는 경우는 null인 property는 제외한다.
② {"name":"bkjo","animals":[{"name":"dog","isWalking":true},{"name":"fish","isWalking":false},
{"name":"cat","isWalking":true}]}
③ serializeNulls 메서드를 호출하여 Gson 객체를 생성하고 Object를 String 형태의 JSON으로 변환시키는 경우는
null인 property는 포함한다.
④ {"name":"bkjo","address":null,"animals":[{"name":"dog","isWalking":true},{"name":"fish","isWalking":false},
{"name":"cat","isWalking":true}],"testProperty2":null,"tp3":null}
<Object ▶ String 형태의 JSON 변환 시 Object의 특정 property는 제외>
① Object의 property에 transient를 붙이게 되면 String 형태의 JSON 변환 시 제외가 된다.
② testProperty1 property에 대해 값을 set을 해도 String 형태의 JSON 데이터에는 포함되지 않는다.
③ {"name":"bkjo","address":"daejeon","animals":[{"name":"dog","isWalking":true},{"name":"fish","isWalking":false},{"name":"cat","isWalking":true}]}
'BACK-END > JAVA' 카테고리의 다른 글
Expected a string but was BEGIN_ARRAY 에러 해결 (0) | 2022.05.26 |
---|---|
HttpURLConnection 활용 (0) | 2022.05.26 |
JAVA 쿠키(Cookie) 등록, 조회, 수정, 삭제 활용 (0) | 2022.05.23 |
Jackson 라이브러리 ObjectMapper 활용 (0) | 2022.05.20 |
slf4j VS log4j VS logback VS log4j2 (0) | 2022.05.02 |