📱

Android:getJSONObjectよりoptJSONObjectをつかおう

2022/10/16に公開

はじめに

Androidアプリをつくっていて、APIをたたいてそのリスポンスをJSONで受けることがあります。
その際、

getJSONObject("キー名"

getString("キー名"

をつかってJSONをパースしていました。
ただしキー名が存在しない場合、意図せず、例外が発生しエラーがでてしまいます。

対処法

意図しない例外を防ぐために

optJSONObject("キー名"

optString("キー名"

を使うと、指定したキー名が存在しないとき、optJSONObjectではnullをoptStringでは空文字が返却されます。
もしくは

optString("キー名", "返却したい文字"

とすることで、指定したキーが存在しない場合は、指定した文字を返却するようにもできます。

おわりに

getJSONObjectやgetStringを使うより、意図しない例外が発生する可能性を考慮して、最初からoptJSONObjectやoptStringをつかった方が良いのではないかと思いました。

Discussion