getJSONArray vs OptJSONArray

2023. 6. 18. 19:15·Android

Kotlin에서 JSON의 배열 데이터를 받아오고자 할 때, getJSONArray또는 optJSONArray를 사용할 수 있다.

두가지 모두 JSONObject 클래스에서 사용되는 메소드이지만, 동작 방식과 예외처리 방식에 약간의 차이가 있다.

 

getJSONArray

getJSONArray는 필드가 반드시 존재해야 하며, 필드가 존재하지 않을 경우 JSONException을 발생시킨다.

따라서, 해당 필드가 반드시 존재하는 경우에만 사용해야 한다.

val jsonArray = jsonObject.getJSONArray("title")

 

optJSONArray

optJSONArray는 필드가 존재하지 않거나, 필드 값이 null인 경우에도 null을 반환한다.

getJSONArray처럼 필드가 존재하지 않는 경우 따로 JSONException을 발생시키지 않기 때문에 예외 처리를 직접 수행할 필요가 없다. 따라서, 필드가 반드시 존재하지 않을 수도 있는 경우에 사용하면 좋다.

val jsonArray = jsonObject.optJSONArray("title")
반응형
저작자표시 비영리 변경금지 (새창열림)

'Android' 카테고리의 다른 글

[Android] 런타임 권한(runtime permissions) 처리  (1) 2025.09.14
[Android] SparseArray에 대하여  (0) 2025.09.14
[Android] ActivityManager란?  (0) 2025.09.13
[Android] 화면 회전과 같은 구성 변경이 발생할 때 Activity에 생기는 변화  (0) 2025.08.31
[Android] TTS(Text To Speech) 사용하기  (0) 2021.07.02
'Android' 카테고리의 다른 글
  • [Android] SparseArray에 대하여
  • [Android] ActivityManager란?
  • [Android] 화면 회전과 같은 구성 변경이 발생할 때 Activity에 생기는 변화
  • [Android] TTS(Text To Speech) 사용하기
yenim
yenim
    반응형
  • yenim
    FOREST, FOR REST
    yenim
  • 전체
    오늘
    어제
    • 분류 전체보기 (235)
      • Android (9)
      • Baekjoon (142)
        • 구현 (3)
        • 브루트포스 (10)
        • BFS (12)
        • DFS (13)
        • 백트래킹 (3)
        • DP (26)
        • 최소 스패닝 트리 (1)
        • 이분 탐색 (10)
        • 그리디 알고리즘 (12)
        • 투포인터 (2)
        • 슬라이딩 윈도우 (2)
        • 다익스트라 (1)
        • 시뮬레이션 (6)
        • 분할 정복 (3)
        • 문자열 (9)
        • 정렬 (6)
        • 탐색 (2)
        • 수학 (20)
        • 링크드리스트 (1)
      • 프로그래머스 (15)
        • 구현 (4)
        • 브루트포스 (4)
        • DFS (1)
        • DP (1)
        • HEAP (1)
        • 문자열 (3)
        • 해시 (0)
        • 비트 (1)
      • CS (39)
        • 개발상식 (9)
        • 자료구조 (8)
        • 네트워크 (7)
        • 운영체제 (5)
        • 데이터베이스 (4)
        • 디자인패턴 (1)
        • 알고리즘 (5)
      • Programming Languages (3)
        • C & C++ (2)
        • Kotlin (1)
      • 취준 (7)
      • Git (2)
      • Google Online Challenge (4)
      • 에러 해결 (6)
      • WEB (0)
      • NOTE (3)
      • DIARY (3)
      • 알고리즘 (1)
  • 블로그 메뉴

    • 🏡 HOME
    • ✏️ TIL
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    명품 자바프로그래밍
    깊이우선탐색
    그리디 알고리즘
    DP
    너비우선탐색
    다이나믹 프로그래밍
    백준
    브루트포스
    DFS
    BFS
    문자열
    코테
    프로그래머스
    그래프
    CS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
yenim
getJSONArray vs OptJSONArray
상단으로

티스토리툴바