본문 바로가기
java/자바_정리

자바 ↔ JSON 변환하기

by 숭늉다섯 2023. 12. 7.

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