[java] 자바에서 JSON 데이터의 중첩된 배열 요소 추가하기

JSON 데이터는 프로그래밍 언어 간 데이터 교환을 위해 일반적으로 사용되는 형식입니다. 자바에서 JSON 데이터의 배열에 새로운 요소를 추가하는 것은 상대적으로 간단합니다. 하지만 중첩된 배열에서 요소를 추가하는 것은 약간의 추가 작업이 필요합니다.

1. Gson 라이브러리 추가하기

먼저, Gson 라이브러리를 사용하여 JSON 데이터를 다루는 기능을 편리하게 사용할 수 있습니다. Gson은 Google에서 제공하는 Java용 JSON 라이브러리로, Maven을 사용할 경우 pom.xml 파일에 다음과 같은 의존성을 추가해줍니다:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.7</version>
</dependency>

의존성을 추가한 후, Maven 혹은 Gradle을 사용하여 프로젝트를 새로고침합니다.

2. 중첩된 배열 요소 추가하기

다음은 JSON 데이터에서 중첩된 배열에 요소를 추가하는 방법을 보여주는 예제 코드입니다:

import com.google.gson.*;

public class JsonNestedArrayExample {
    public static void main(String[] args) {
        String jsonString = "{\"name\":\"John\",\"age\":30,\"languages\":[[\"Java\",\"Python\"],[\"HTML\",\"CSS\"]]}";

        Gson gson = new Gson();
        JsonObject jsonObject = gson.fromJson(jsonString, JsonObject.class);

        JsonArray innerArray = jsonObject.getAsJsonArray("languages").get(0).getAsJsonArray();
        innerArray.add(new JsonPrimitive("JavaScript"));

        System.out.println(jsonObject.toString());
    }
}

위의 코드에서는 다음과 같은 JSON 문자열이 주어졌다고 가정합니다:

{
  "name": "John",
  "age": 30,
  "languages": [
    ["Java", "Python"],
    ["HTML", "CSS"]
  ]
}

위의 JSON 데이터에서 “languages” 배열의 첫 번째 배열에 “JavaScript”를 추가하는 작업을 수행합니다.

getAsJsonArray() 메서드를 이용하여 “languages” 배열에 접근하고, add() 메서드를 사용하여 “JavaScript”를 추가합니다.

코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다:

{
  "name": "John",
  "age": 30,
  "languages": [
    ["Java", "Python", "JavaScript"],
    ["HTML", "CSS"]
  ]
}

위의 예제에서는 Gson 라이브러리를 사용하였지만, 다른 JSON 라이브러리도 사용할 수 있습니다. 따라서 프로젝트의 요구사항에 맞게 적절한 라이브러리를 선택하시기 바랍니다.

결론

이렇게 JSON 데이터의 중첩된 배열에 요소를 추가하는 방법을 알아보았습니다. Gson 라이브러리를 사용하여 JSON 데이터를 다루는 작업을 더욱 편하게 할 수 있습니다. JSON 데이터를 다룰 때는 데이터 구조를 잘 파악하고, 적절한 라이브러리를 활용하여 작업을 수행해야 합니다.