[java] 자바에서 JSON 데이터의 중첩된 배열 요소 수정하기
이번 블로그 포스트에서는 자바에서 JSON 데이터의 중첩된 배열 요소를 수정하는 방법에 대해 알아보겠습니다.
JSON 데이터 구조
먼저 예시로 다음과 같은 JSON 데이터를 가정해봅시다.
{
"users": [
{
"id": 1,
"name": "John",
"age": 25
},
{
"id": 2,
"name": "Jane",
"age": 30
}
]
}
위 JSON 데이터는 users
라는 배열 안에 두 개의 사용자 객체가 있습니다.
JSON 데이터의 배열 요소 수정하기
이제 자바에서 JSON 데이터의 배열 요소를 수정하는 방법을 알아보겠습니다.
- JSON 라이브러리 가져오기
먼저 JSON 데이터를 다루기 위해 JSON.simple 라이브러리를 사용하겠습니다. Maven을 사용한다면, 다음과 같이 pom.xml
파일에 해당 디펜던시를 추가해주세요.
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
- 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);
- 배열 요소 수정하기
중첩된 배열의 요소를 수정하려면, 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 데이터를 유연하게 다룰 수 있을 것입니다.