📱
Android:getJSONObjectよりoptJSONObjectをつかおう
はじめに
Androidアプリをつくっていて、APIをたたいてそのリスポンスをJSONで受けることがあります。
その際、
getJSONObject("キー名")
や
getString("キー名")
をつかってJSONをパースしていました。
ただしキー名が存在しない場合、意図せず、例外が発生しエラーがでてしまいます。
対処法
意図しない例外を防ぐために
optJSONObject("キー名")
や
optString("キー名")
を使うと、指定したキー名が存在しないとき、optJSONObjectではnullをoptStringでは空文字が返却されます。
もしくは
optString("キー名", "返却したい文字")
とすることで、指定したキーが存在しない場合は、指定した文字を返却するようにもできます。
おわりに
getJSONObjectやgetStringを使うより、意図しない例外が発生する可能性を考慮して、最初からoptJSONObjectやoptStringをつかった方が良いのではないかと思いました。
Discussion