Rumah >Java >javaTutorial >Bagaimana untuk Menghuraikan Fail JSON Tempatan daripada Aset ke dalam ListView dalam Android?
Menghuraikan fail JSON daripada aset tempatan ialah tugas biasa dalam pengaturcaraan Android, terutamanya apabila bekerja dengan data statik. Begini cara anda boleh mencapai ini dengan berkesan:
1. Membaca Fail 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; }
Kaedah ini membuka fail "formules.json" daripada folder aset, membaca kandungannya ke dalam penimbal dan mengembalikan rentetan JSON yang terhasil.
2. Menghuraikan Rentetan 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(); }
Di sini, kami menghuraikan rentetan JSON ke dalam JSONObject. Kami kemudian melelang melalui tatasusunan "formules" dan mengekstrak nilai "formule" dan "url". Kami menyimpan nilai ini dalam HashMap dan menambahkannya pada ArrayList.
3. Memaparkan Data dalam ListView:
Setelah anda mempunyai data dalam ArrayList, anda boleh menggunakan ArrayAdapter untuk memaparkannya dalam ListView. Cipta ArrayAdapter dengan konteks dan reka letak yang sesuai, dan tetapkan pada ListView anda.
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Fail JSON Tempatan daripada Aset ke dalam ListView dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!