[java] 자바에서 JSON 데이터의 중첩된 객체 생성하기

JSON(JavaScript Object Notation)은 데이터를 표현하기 위한 가벼운 데이터 교환 형식입니다. 자바에서는 JSON 데이터를 생성하여 사용할 때, 중첩된 객체를 다루는 것이 중요합니다. 이번 블로그 포스트에서는 자바에서 JSON 데이터의 중첩된 객체를 생성하는 방법을 알아보겠습니다.

JSON 라이브러리 추가하기

JSON 데이터를 다루기 위해서는 먼저 JSON 라이브러리를 프로젝트에 추가해야 합니다. 자바에서는 대표적으로 Jackson 라이브러리를 사용합니다. 프로젝트의 의존성 관리 도구를 사용하여 필요한 라이브러리를 추가합니다.

dependencies {
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.3'
}

중첩된 객체를 가진 JSON 데이터 생성하기

중첩된 객체를 가진 JSON 데이터를 생성하기 위해서는 해당 객체와 그에 속하는 속성들을 자바 클래스로 정의해야 합니다. 예를 들어, 다음과 같이 Book 클래스와 Author 클래스를 정의하고, 이를 중첩하여 JSON 데이터를 생성하는 코드를 작성해보겠습니다.

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class Main {
    public static void main(String[] args) {
        // 중첩된 객체 생성
        Author author = new Author("John Doe", "johndoe@example.com");
        Book book = new Book("Java Programming", author);

        // JSON 데이터 생성
        ObjectMapper objectMapper = new ObjectMapper();
        String json = null;
        try {
            json = objectMapper.writeValueAsString(book);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }

        System.out.println(json);
    }
}

class Author {
    private String name;
    private String email;

    public Author(String name, String email) {
        this.name = name;
        this.email = email;
    }

    public String getName() {
        return name;
    }

    public String getEmail() {
        return email;
    }
}

class Book {
    private String title;
    private Author author;

    public Book(String title, Author author) {
        this.title = title;
        this.author = author;
    }

    public String getTitle() {
        return title;
    }

    public Author getAuthor() {
        return author;
    }
}

위의 코드에서는 AuthorBook 클래스를 정의하고, author 변수를 Book 클래스의 속성으로 사용하여 JSON 데이터를 생성합니다. ObjectMapper 클래스의 writeValueAsString() 메서드를 사용하여 자바 객체를 JSON 문자열로 변환합니다.

출력 결과

위의 코드를 실행하면 다음과 같은 JSON 문자열이 생성됩니다.

{
  "title" : "Java Programming",
  "author" : {
    "name" : "John Doe",
    "email" : "johndoe@example.com"
  }
}

결론

자바에서 중첩된 객체를 가진 JSON 데이터를 생성하기 위해서는 해당 객체들을 자바 클래스로 정의하고, 라이브러리를 사용하여 JSON 문자열로 변환하는 과정을 거쳐야 합니다. JSON 데이터를 다룰 때에는 중첩된 객체에 대한 이해와 적절한 클래스 설계가 필요합니다. JSON 라이브러리를 사용하면 쉽게 JSON 데이터를 생성 및 처리할 수 있으므로, 프로젝트에서 필요한 라이브러리를 추가하여 활용하시기 바랍니다.

참고 자료