プログラミング

【android studio】JSON変換エラー org.json.JSONArray cannot be converted to JSONObjectを解決したときのメモ【webAPI】

投稿日:

webAPIからJSONを取得するandroidアプリ実装中に出会したエラ〜

要するに、JSONArrayだから、JSONObjectに変換できませんよ!ってこと

当たり前じゃんって思うかもですが、結構迷いました。先に結論だけ述べとくと、JSONの { と[ の違いによるもの。解決方法は以下で解説します。

環境

  • Android Studio 3.4
  • Android 9 (API level 28)
  • JAVA

原因

JSONのレスポンス形式の違いによるものであった。以下に2例あげるので、読み出すwebAPIのJSONレスポンス形式に合わせて使用してください

JSONObjectだけで直接読み出せる形式

以下のJSONデータを受信する事例です

上記JSONは {} で囲まれてるので、getJSONObject(id)などで直接読み込める

大事な事なのでもう一度 {}  で囲まれているところ

実際に読込むプログラムは以下

JSONArrayで読み出す形式

以下のJSONデータを受信する事例です

上記JSONは {} だけでなく、[ ] で囲まれています。なので、配列処理が必要になってきます。

[]の中に{}があるJSONデータを処理するためには、JSON配列ノード処理が必要です。

そのコードは以下です。

人気の記事!

1

ふんわり始まった激アツキャンペーン!なんとアマゾンのスマートスピーカーであるエコードットの第3世代が通常価格5,980円の所、ななななん84%割引の500円で購入できるチャンスです。 ⇩購入は以下の画 ...

2

出典:io-data.jp こんにちは。↑の写真のようなPCモニター環境を目指しています。4K43インチくらいの大きさの4KテレビをMacBook ProのUSB-Cと接続、もしくは、Windowsの ...

3

目次 キャンペーンを駆使!最安を渡り歩くLINEモバイルのキャンペーン楽天モバイルキャンペーンまとめ17ヶ月間の合計スマホ維持費LINEモバイルの口コミ、評判通信速度とりあえずは今の所通信速度は問題な ...

-プログラミング
-, , ,

Copyright© コスパ部 , 2021 All Rights Reserved.