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 |