Gson API를 사용하여 자바와 JSON을 서로 변환하여 객체를 다룬다.
JSON이란 "JavaScript Object Notation"의 약자로 경량의 데이터 교환 형식이다. 프로그래밍 언어나 플랫폼에 상관없이 데이터를 교환할 수 있도록 설계 되었다.
또한, key-value pair로 데이터 객체를 표현한다
++ Gson을 사용하려면 라이브러리를 직접 추가 하여야 한다.
프로젝트 구조 - 라이브러리 - + gson
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getNama() {return name; }
public void setNama(String nama) {this.name = nama; }
public int getAge() {return age;}
public void setAge(int age) {this.age = age;}
@Override
public String toString() {
return "Person{" +
"name=" + name +
", age=" + age +
'}';
}
}
- 자바를 JSON으로 변환
-> 위의 person의 클래스를 정의 한 후, 클래스의 객체를 JSON 형식으로 변환하고 출력
-> Gson객체를 생성 한 후 toJson()메서드를 사용하여 객체를 JSON형식의 문자열로 변환
import com.google.gson.Gson;
public class GsonToAPI {
public static void main(String[] args) {
//자바 객체를 JSON으로 변환
Person person = new Person("john",30);
Gson gson = new Gson();
String json = gson.toJson(person);
System.out.println(json);
}
}
- JSON을 자바로 변환
-> JSON의 형식의 문자열을 자바 객체로 변환한 후, 객체의 필드 값을 출력
-> Gson객체를 생성한 후, fromJson() 메서드를 사용하여 JSON 문자열을 자바 객체로 변환
import com.google.gson.Gson;
public class GsonFromAPI {
public static void main(String[] args) {
String json="{\"name\":\"john\",\"age\":30}";
Gson gson = new Gson();
Person p = gson.fromJson(json,Person.class);
System.out.println(p.getNama());
System.out.println(p.getAge());
System.out.println(p.toString());
}
}
'java > 자바_정리' 카테고리의 다른 글
자바 API 사용 (0) | 2023.12.07 |
---|---|
추상클래스와 인터페이스 (0) | 2023.12.06 |
다형성(ploymorphism) (0) | 2023.12.05 |
객체형변환(Objet Casting) (0) | 2023.11.30 |
상속관계에서 객체생성 방법(super(), Override) (0) | 2023.11.30 |