首頁  >  文章  >  Java  >  如何在 Android 中將 Assets 中的本機 JSON 檔案解析為 ListView?

如何在 Android 中將 Assets 中的本機 JSON 檔案解析為 ListView?

Linda Hamilton
Linda Hamilton原創
2024-11-08 18:41:02883瀏覽

How to Parse a Local JSON File from Assets into a ListView in Android?

如何將資源資料夾中的本機 JSON 檔案解析到 ListView 中?

從本機資源解析 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;
}

此方法從資產資料夾中開啟「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。

以上是如何在 Android 中將 Assets 中的本機 JSON 檔案解析為 ListView?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn