Java의 JSONObject는 문자열을 파싱하여 맵(map)과 유사한 객체를 생성하고, JSONArray는 문자열을 파싱하여 벡터(vector)와 유사한 객체를 생성합니다. JSONObject 내부에 JSONArray를 추가하려면 먼저 JSONArray에 항목들을 담은 뒤, JSONObject 클래스의 put() 메서드를 사용해 배열 전체를 넣으면 됩니다.
문법
public JSONObject put(java.lang.String key, java.util.Collection<?> value) throws JSONException
예제
import org.json.*;
public class AddJSONArrayTest {
public static void main(String[] args) throws JSONException {
JSONArray array = new JSONArray();
array.put("INDIA");
array.put("AUSTRALIA");
array.put("ENGLAND");
JSONObject obj = new JSONObject();
obj.put("COUNTRIES", array);
System.out.println(obj);
}
}실행 결과
{"COUNTRIES":["INDIA","AUSTRALIA","ENGLAND"]}위 예제에서 볼 수 있듯이, JSONArray 객체를 생성하고 put() 메서드로 여러 값을 순서대로 저장한 후, 이 배열을 JSONObject의 put() 메서드에 키("COUNTRIES")와 함께 전달하면 JSON 객체 안에 배열이 그대로 포함되어 출력됩니다. 이 방식은 중첩된 JSON 구조를 만들 때 매우 유용하게 활용됩니다.