-
Gson을 사용하여 JSON 파일 읽기 및 쓰기카테고리 없음 2025. 2. 17. 16:10반응형
Gson을 사용하여 JSON 파일 읽기 및 쓰기
Gson은 Google에서 제공하는 Java 라이브러리로, JSON 데이터를 Java 객체로 변환하거나 Java 객체를 JSON 데이터로 변환하는 데 사용됩니다. 이 글에서는 Gson을 사용하여 JSON 파일에 데이터를 쓰고, 해당 파일을 읽어 Java 객체로 변환하는 방법을 단계별로 설명합니다.
1. Gson 라이브러리 다운로드
Gson을 사용하려면 프로젝트에 Gson 라이브러리를 추가해야 합니다. Maven 프로젝트의 경우,
pom.xml
에 다음 의존성을 추가하세요:<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.10.1</version> </dependency>
2. 테스트용 Java 객체 생성
JSON 데이터를 다루기 위해 간단한 Java 클래스를 생성합니다. 예제에서는
Person
클래스를 사용합니다.Person.java
package com.example.json.model; public class Person { private String name; private int age; // 기본 생성자 public Person() {} // 매개변수 생성자 public Person(String name, int age) { this.name = name; this.age = age; } // Getter, Setter, toString() 메서드 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Person{name='" + name + "', age=" + age + "}"; } }
3. JSON 파일에 Java 객체 쓰기
Gson의
toJson()
메서드를 사용하여 Java 객체를 JSON 데이터로 변환하고 이를 파일에 저장할 수 있습니다.GsonWriteObjectToJsonExample.java
package com.example.json.gson; import com.google.gson.Gson; import com.example.json.model.Person; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; public class GsonWriteObjectToJsonExample { public static void main(String[] args) { // Java 객체 생성 Person person = new Person("john_doe", 42); // Gson 인스턴스 생성 Gson gson = new Gson(); // JSON 데이터를 저장할 파일 지정 try (Writer writer = new FileWriter("person.json")) { // Java 객체를 JSON 데이터로 변환하고 파일에 쓰기 gson.toJson(person, writer); System.out.println("JSON 파일 작성 완료: person.json"); } catch (IOException e) { throw new RuntimeException("파일 쓰기 중 오류 발생", e); } } }
출력 결과 (person.json):
{"name":"john_doe","age":42}
4. JSON 파일에서 Java 객체 읽기
Gson의
fromJson()
메서드를 사용하여 JSON 파일의 데이터를 읽어 Java 객체로 변환할 수 있습니다.GsonReadJsonToObjectExample.java
package com.example.json.gson; import com.google.gson.Gson; import com.example.json.model.Person; import java.io.FileReader; import java.io.IOException; import java.io.Reader; public class GsonReadJsonToObjectExample { public static void main(String[] args) { // Gson 인스턴스 생성 Gson gson = new Gson(); // JSON 파일 읽기 try (Reader reader = new FileReader("person.json")) { // JSON 데이터를 Java 객체로 변환 Person person = gson.fromJson(reader, Person.class); System.out.println("JSON 파일에서 읽은 데이터: " + person); } catch (IOException e) { throw new RuntimeException("파일 읽기 중 오류 발생", e); } } }
출력 결과:
JSON 파일에서 읽은 데이터: Person{name='john_doe', age=42}
5. 전체 소스 코드 다운로드
위 코드의 전체 소스는 GitHub에서 다운로드할 수 있습니다:
$ git clone https://github.com/mkyong/java-json $ cd gson
6. 요약 및 참고 사항
- 직렬화(Serialization):
toJson()
메서드를 사용하여 Java 객체를 JSON으로 변환. - 역직렬화(Deserialization):
fromJson()
메서드를 사용하여 JSON 데이터를 Java 객체로 변환. - 파일 처리:
FileWriter
와FileReader
를 활용하여 JSON 데이터를 파일에 저장하거나 읽어들임.
Gson은 간단한 API와 높은 성능으로 인해 널리 사용되는 라이브러리입니다. 특히 JSON 데이터를 다뤄야 하는 프로젝트에서 효율적으로 활용할 수 있습니다.
위 내용을 바탕으로 Gson을 활용한 JSON 데이터 처리 방법을 익히고, 다양한 응용 프로그램에서 활용해 보세요!
반응형 - 직렬화(Serialization):