ローカル アセットからの JSON ファイルの解析は、Android プログラミング、特に作業時によく行われるタスクです。静的データの場合。これを効果的に達成する方法は次のとおりです。
1. JSON ファイルの読み取り:
public String loadJSONFromAsset() { String json = null; try { InputStream is = getActivity().getAssets().open("formules.json"); int size = is.available(); byte[] buffer = new byte[size]; is.read(buffer); is.close(); json = new String(buffer, "UTF-8"); } catch (IOException ex) { ex.printStackTrace(); return null; } return json; }
このメソッドは、assets フォルダーから「formules.json」ファイルを開き、その内容をバッファーに読み取り、結果の JSON 文字列を返します。
2. JSON 文字列の解析:
try { JSONObject obj = new JSONObject(loadJSONFromAsset()); JSONArray m_jArry = obj.getJSONArray("formules"); ArrayList<HashMap<String, String>> formList = new ArrayList<>(); HashMap<String, String> m_li; for (int i = 0; i < m_jArry.length(); i++) { JSONObject jo_inside = m_jArry.getJSONObject(i); String formula_value = jo_inside.getString("formule"); String url_value = jo_inside.getString("url"); //Add values to the ArrayList as follows: m_li = new HashMap<>(); m_li.put("formule", formula_value); m_li.put("url", url_value); formList.add(m_li); } } catch (JSONException e) { e.printStackTrace(); }
ここでは、JSON 文字列を JSONObject に解析します。次に、「formules」配列を反復処理して、「formule」と「url」の値を抽出します。これらの値を HashMap に保存し、ArrayList に追加します。
3. ListView でのデータの表示:
ArrayList にデータを取得したら、ArrayAdapter を使用してそれを ListView に表示できます。適切なコンテキストとレイアウトを使用して ArrayAdapter を作成し、ListView に設定します。
以上がアセットからローカル JSON ファイルを Android の ListView に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。