My Space

Gson

2022. 3. 12. 22:13
반응형

정의

: json의 자바 오브젝트를 직렬화 또는 역직렬화 해주는 오픈 자바 소스 라이브러리

즉, Json Object -> Java Obejct / JavaObejct -> Json Object 로 변환해준다.

 

예제)

// Member.java
public class Member{
	private String loginId;
	private String name;
    
	public Member(String loginId, String name) {
		this.loginId = loginId;
		this.name = name;
	}
 }

// JSON Object -> JAVA Object  
String str = "{'loginId':'id@id.com', 'name':'이름'}";		
Gson gson = new Gson();
Member result = gson.fromJson(str, Member.class);		
결과: Json -> Java : Member(loginId=id@id.com, name=이름)

// JSON Object -> List<>    json으로 받아온 값을 리스트 객체에 넣기
String str = "[{'loginId':'id@id.com', 'name':'가가'}, {'loginId':'id2@id2.com', 'name':'나나'}]";
Gson gson = new Gson();

@SuppressWarnings("serial")
Type member = new TypeToken<List<Member>>(){}.getType();
List<Member> list = gson.fromJson(str, member);
결과: json -> Java : [Member(loginId=id@id.com, name=가가), Member(loginId=id2@id2.com, name=나나)]

// JAVA Object -> JSON Object
Member m = new Member("id@id.com", "이름");
Gson gson = new Gson();
String result = gson.toJson(m); 
결과: Java -> Json : {"loginId":"id@id.com", "name":"이름"}

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading