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

이번 블로그 포스트에서는 자바에서 JSON 데이터의 중첩된 배열 요소를 수정하는 방법에 대해 알아보겠습니다.

JSON 데이터 구조

먼저 예시로 다음과 같은 JSON 데이터를 가정해봅시다.

{
  "users": [
    {
      "id": 1,
      "name": "John",
      "age": 25
    },
    {
      "id": 2,
      "name": "Jane",
      "age": 30
    }
  ]
}

위 JSON 데이터는 users라는 배열 안에 두 개의 사용자 객체가 있습니다.

JSON 데이터의 배열 요소 수정하기

이제 자바에서 JSON 데이터의 배열 요소를 수정하는 방법을 알아보겠습니다.

  1. JSON 라이브러리 가져오기

먼저 JSON 데이터를 다루기 위해 JSON.simple 라이브러리를 사용하겠습니다. Maven을 사용한다면, 다음과 같이 pom.xml 파일에 해당 디펜던시를 추가해주세요.

<dependency>
  <groupId>com.googlecode.json-simple</groupId>
  <artifactId>json-simple</artifactId>
  <version>1.1.1</version>
</dependency>
  1. JSON 데이터 가져오기

JSON 데이터를 자바에서 사용하기 위해 해당 데이터를 파싱하여 JSONObject로 가져옵니다.

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

// JSON 데이터 가져오기
JSONParser parser = new JSONParser();
JSONObject jsonData = (JSONObject) parser.parse(jsonDataString);
  1. 배열 요소 수정하기

중첩된 배열의 요소를 수정하려면, JSONArray 클래스의 set 메소드를 사용할 수 있습니다. 예를 들어, users 배열의 첫 번째 요소의 name 값을 변경해보겠습니다.

// 배열 요소 수정
JSONArray usersArray = (JSONArray) jsonData.get("users");
JSONObject firstUser = (JSONObject) usersArray.get(0);
firstUser.put("name", "Peter");

JSON 데이터를 수정한 후, 필요에 따라 다시 문자열로 변환할 수도 있습니다.

// 수정된 JSON 데이터를 문자열로 변환
String modifiedJsonData = jsonData.toJSONString();

결과 확인하기

수정된 JSON 데이터를 출력하여 확인해봅시다.

System.out.println(modifiedJsonData);

다음과 같은 결과가 출력되어야 합니다.

{
  "users": [
    {
      "id": 1,
      "name": "Peter",
      "age": 25
    },
    {
      "id": 2,
      "name": "Jane",
      "age": 30
    }
  ]
}

이처럼 자바에서 JSON 데이터의 중첩된 배열 요소를 수정하는 방법을 알아보았습니다. 이를 바탕으로 다양한 상황에서 JSON 데이터를 유연하게 다룰 수 있을 것입니다.