Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 JSON 문자열을 JSON 객체로 변환하는 방법

JSON 문자열을 JSON 객체로 변환하기

JSONJavaScript Object Notation의 약자로, 데이터를 전송하고 저장하는 데 널리 사용되는 경량 데이터 교환 형식입니다.

Java에서는 JSONObject 클래스를 사용하여 문자열을 파싱해 맵(Map)과 유사한 객체를 생성할 수 있습니다. 이 객체는 내용을 조작하는 다양한 메서드와 함께 JSON 규격에 맞는 직렬화 기능도 제공합니다. 마찬가지로 JSONArray 클래스는 문자열을 파싱하여 벡터(Vector)와 유사한 배열 객체를 만들어 주며, 배열 요소를 다루는 메서드들을 지원합니다.

아래 두 가지 예제를 통해 JSON 문자열을 JSON 객체로 변환하는 방법을 살펴보겠습니다.

예제 1: JSONArray를 이용한 변환

JSON 배열 형태의 문자열을 JSONArray 객체로 변환하고, 각 요소를 순회하며 값을 추출하는 예제입니다.

import org.json.JSONObject;
import org.json.JSONArray;

public class StringToJSONTest {
    public static void main(String args[]) {
        String str = "[{\"No\":\"1\",\"Name\":\"Adithya\"},{\"No\":\"2\",\"Name\":\"Jai\"}, {\"No\":\"3\",\"Name\":\"Raja\"}]";
        JSONArray array = new JSONArray(str);
        for(int i = 0; i < array.length(); i++) {
            JSONObject object = array.getJSONObject(i);
            System.out.println(object.getString("No"));
            System.out.println(object.getString("Name"));
        }
    }
}

출력 결과

1
Adithya
2
Jai
3
Raja

예제 2: JSONObject를 이용한 변환

단일 JSON 객체 형태의 문자열을 JSONObject로 변환하고, 특정 키의 값을 가져오는 예제입니다.

import org.json.*;

public class StringToJsonObjectTest {
    public static void main(String[] args) {
        String str = "{\"name\": \"Raja\", \"technology\": \"Java\"}";
        JSONObject json = new JSONObject(str);
        System.out.println(json.toString());
        String tech = json.getString("technology");
        System.out.println(tech);
    }
}

출력 결과

{"name":"Raja","technology":"Java"}
Java

이처럼 org.json 라이브러리의 JSONObjectJSONArray 클래스를 활용하면 문자열 형태의 JSON 데이터를 손쉽게 객체로 변환하여 원하는 값을 조회하거나 조작할 수 있습니다. Maven이나 Gradle 프로젝트에서는 해당 라이브러리를 의존성으로 추가한 후 위 예제 코드를 바로 실행해 볼 수 있습니다.