JSON 변환하기 (Gson , json-simple)
2021. 11. 29. 19:43ㆍ스프링부트
1. Gson 라이브러리로 변환하기
2. json-simple 라이브러리로 변환하기
1. Gson
maven 라이브러리 추가
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
변환할 클래스
class Student {
String name;
int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
객체를 제이슨 문자열로 변환하기
public class JSONTest {
@Test
public void jsonTest() {
Student s1 = new Student("침착맨", 10);
Student s2 = new Student("이말년", 20);
Student s3 = new Student("이병건", 30);
Gson gson = new Gson();
// 객체를 제이슨 문자열로 변환
String s1Json = gson.toJson(s1);
System.out.println("변환 전 = " + s1);
System.out.println("변환 후 = " + s1Json);
// 결과
// 변환 전 = Student [name=침착맨, age=10]
// 변환 후 = {"name":"침착맨","age":10}
}
}
제이슨 문자열을 오브젝트로 변환하기
public class JSONTest {
@Test
public void jsonTest() {
Student s1 = new Student("침착맨", 10);
Student s2 = new Student("이말년", 20);
Student s3 = new Student("이병건", 30);
Gson gson = new Gson();
// 객체를 제이슨 문자열로 변환
String s1Json = gson.toJson(s1);
// gson.fromJson()의 첫번째인자에 변환하고 싶은 값, 두번째 인자에 변환할 타입을 써주면 된다
Map<String, Object> map = gson.fromJson(s1Json, Map.class);
Student student = gson.fromJson(s1Json, Student.class);
System.out.println("변환 전 = " + s1);
System.out.println("map으로 변환 = " + map);
System.out.println("객체로 변환 = " + student);
// 결과
// 변환 전 = Student [name=침착맨, age=10]
// map으로 변환 = {name=침착맨, age=10.0} map으로 변환될땐 실수형으로 변환된다
// 객체로 변환 = Student [name=침착맨, age=10]
}
}
제이슨 배열을 오브젝트로 변환하기
public class JSONTest {
@Test
public void jsonTest() {
Student s1 = new Student("침착맨", 10);
Student s2 = new Student("이말년", 20);
Student s3 = new Student("이병건", 30);
Gson gson = new Gson();
// 객체를 제이슨 문자열로 변환
String s1Json = gson.toJson(s1);
String s2Json = gson.toJson(s2);
String s3Json = gson.toJson(s3);
List<String> jsonList = new ArrayList<>();
jsonList.add(s1Json);
jsonList.add(s2Json);
jsonList.add(s3Json);
String listJson = gson.toJson(jsonList);
System.out.println("list = " + jsonList);
System.out.println("제이슨배열 문자열 = " + listJson);
// 결과
// list = [{"name":"침착맨","age":10}, {"name":"이말년","age":20}, {"name":"이병건","age":30}]
// 제이슨배열 문자열 = ["{\"name\":\"침착맨\",\"age\":10}","{\"name\":\"이말년\",\"age\":20}","{\"name\":\"이병건\",\"age\":30}"]
List<String> list = gson.fromJson(listJson, List.class);
System.out.println("제이슨 배열 => List로 변환");
System.out.println(list);
// 제이슨 배열 => List로 변환
// [{"name":"침착맨","age":10}, {"name":"이말년","age":20}, {"name":"이병건","age":30}]
for(int i=0;i<list.size();i++) {
Student s = gson.fromJson(list.get(i), Student.class);
System.out.println(s);
}
// Student [name=침착맨, age=10]
// Student [name=이말년, age=20]
// Student [name=이병건, age=30]
}
}
2. json-simple
'스프링부트' 카테고리의 다른 글
스프링부트+jsp로 배달사이트 만들기-04 mypage, 로그인페이지 만들기 (0) | 2021.12.04 |
---|---|
스프링부트+jsp로 배달사이트 만들기-03 메인페이지 만들기2(쿠키,세션으로 주소저장) (0) | 2021.12.04 |
스프링부트+jsp로 배달사이트 만들기-02 메인페이지 만들기1 (0) | 2021.12.03 |
스프링부트+jsp로 배달사이트 만들기-01 프로젝트 생성 (3) | 2021.12.03 |
웹 소켓 기본 (0) | 2021.11.10 |