Home >Java >javaTutorial >How to Parse a Local JSON File from Assets into a ListView in Android?
Parsing JSON files from local assets is a common task in Android programming, especially when working with static data. Here's how you can achieve this effectively:
1. Reading the JSON File:
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; }
This method opens the "formules.json" file from the assets folder, reads its contents into a buffer, and returns the resulting JSON string.
2. Parsing the JSON String:
try { JSONObject obj = new JSONObject(loadJSONFromAsset()); JSONArray m_jArry = obj.getJSONArray("formules"); ArrayList<hashmap string>> formList = new ArrayList(); HashMap<string string> m_li; for (int i = 0; i (); m_li.put("formule", formula_value); m_li.put("url", url_value); formList.add(m_li); } } catch (JSONException e) { e.printStackTrace(); }</string></hashmap>
Here, we parse the JSON string into a JSONObject. We then iterate through the "formules" array and extract the "formule" and "url" values. We store these values in a HashMap and add it to an ArrayList.
3. Displaying the Data in a ListView:
Once you have the data in an ArrayList, you can use an ArrayAdapter to display it in a ListView. Create an ArrayAdapter with the appropriate context and layout, and set it to your ListView.
The above is the detailed content of How to Parse a Local JSON File from Assets into a ListView in Android?. For more information, please follow other related articles on the PHP Chinese website!