JSONObject는 이름/값(name/value) 쌍으로 이루어진 순서가 없는 컬렉션으로, 문자열을 파싱하여 맵(map)과 유사한 객체를 생성합니다. JSONObject는 다양한 타입의 값을 손쉽게 가져올 수 있는 여러 유용한 메서드를 제공합니다. 예를 들어 getString() 메서드는 키에 연관된 문자열 값을, getInt() 메서드는 키에 연관된 int 값을, getDouble() 메서드는 키에 연관된 double 값을, getBoolean() 메서드는 키에 연관된 boolean 값을 반환합니다.
주요 메서드 정리
- getString(String key) – 지정된 키에 연관된 문자열 값을 반환합니다.
- getInt(String key) – 지정된 키에 연관된 int 값을 반환합니다.
- getDouble(String key) – 지정된 키에 연관된 double 값을 반환합니다.
- getBoolean(String key) – 지정된 키에 연관된 boolean 값을 반환합니다.
예제
import org.json.*;
public class JSONObjectTypeValuesTest {
public static void main(String[] args) throws JSONException {
JSONObject jsonObj = new JSONObject(
"{" +
"Name : Adithya," +
"Age : 22, " +
"Salary: 10000.00, " +
"IsSelfEmployee: false " +
"}"
);
System.out.println(jsonObj.getString("Name")); // 문자열 반환
System.out.println(jsonObj.getInt("Age")); // int 반환
System.out.println(jsonObj.getDouble("Salary")); // double 반환
System.out.println(jsonObj.getBoolean("IsSelfEmployee")); // true/false 반환
}
}
실행 결과
Adithya 22 10000.0 false
이처럼 JSONObject의 타입별 get 메서드를 활용하면 JSON 데이터를 원하는 자바 기본 타입으로 간편하게 변환하여 사용할 수 있습니다. 단, 요청한 키가 존재하지 않거나 값의 타입이 일치하지 않으면 JSONException이 발생할 수 있으므로, 실제 코드에서는 예외 처리를 함께 고려하는 것이 좋습니다.