Maison >Java >javaDidacticiel >Comment analyser un fichier JSON local à partir d'actifs dans un ListView sous Android ?

Comment analyser un fichier JSON local à partir d'actifs dans un ListView sous Android ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-08 18:41:02914parcourir

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

Comment analyser un fichier JSON local du dossier Assets dans une ListView ?

L'analyse des fichiers JSON à partir d'actifs locaux est une tâche courante dans la programmation Android, en particulier lorsque vous travaillez avec des données statiques. Voici comment vous pouvez y parvenir efficacement :

1. Lecture du fichier 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;
}

Cette méthode ouvre le fichier "formules.json" du dossier Assets, lit son contenu dans un tampon et renvoie la chaîne JSON résultante.

2. Analyse de la chaîne 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();
}

Ici, nous analysons la chaîne JSON dans un JSONObject. Nous parcourons ensuite le tableau « formules » et extrayons les valeurs « formule » et « url ». Nous stockons ces valeurs dans un HashMap et les ajoutons à un ArrayList.

3. Affichage des données dans un ListView :

Une fois que vous avez les données dans un ArrayList, vous pouvez utiliser un ArrayAdapter pour les afficher dans un ListView. Créez un ArrayAdapter avec le contexte et la disposition appropriés, et définissez-le sur votre ListView.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn