從本機資源解析 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中文網其他相關文章!