ホームページ > Java > &#&チュートリアル > Android/Java で JSON 配列を効率的に反復処理する方法

Android/Java で JSON 配列を効率的に反復処理する方法

Linda Hamilton
リリース: 2024-12-09 02:50:10
オリジナル
691 人が閲覧しました

How to Efficiently Iterate Through a JSON Array in Android/Java?

Android/Java での JSON 配列の反復

Android アプリから JSON オブジェクトにアクセスするには、JSON 配列をデコードする必要があります。配列を反復処理して目的のデータを抽出するには、いくつかのアプローチが考えられます。

JSONArray によるループ

簡単な方法は、for を使用して JSONArray をループすることです。ループ:

int id;
String name;
JSONArray array = new JSONArray(jsonString);
for (int i = 0; i < array.length(); i++) {
    JSONObject row = array.getJSONObject(i);
    id = row.getInt("id");
    name = row.getString("name");
}
ログイン後にコピー

Library

または、GsonJackson などのサードパーティ ライブラリを利用すると、JSON 解析プロセスが簡素化されます。たとえば、Gson を使用する場合:

Gson gson = new Gson();
Type type = new TypeToken<List<JsonObject>>() {}.getType();
List<JsonObject> rows = gson.fromJson(jsonString, type);
ログイン後にコピー

反復可能なアプローチ

もう 1 つのオプションは、JSONPointer クラスを使用して JSONArray を反復可能に変換することです:

JSONArray array = new JSONArray(jsonString);
JSONPointer pointer = new JSONPointer("/0");
int id = (int) pointer.getValue(array);
String name = (String) pointer.getValue(array, "/1");
ログイン後にコピー

レガシー解決策

質問で言及されているコード スニペットでは、JSONArray から反復可能な配列への暗黙的な変換が必要でした。残念ながら、この方法では互換性の問題が発生する可能性があるため、お勧めできません。

最適化

大規模なデータセットの場合は、メイン UI のブロックを避けるために、非同期タスクまたはバックグラウンド スレッドの使用を検討してください。さらに、解析されたデータをキャッシュするとパフォーマンスが向上します。

以上がAndroid/Java で JSON 配列を効率的に反復処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート