Heim >Java >javaLernprogramm >Wie analysiere ich eine lokale JSON-Datei aus Assets in eine ListView in Android?

Wie analysiere ich eine lokale JSON-Datei aus Assets in eine ListView in Android?

Linda Hamilton
Linda HamiltonOriginal
2024-11-08 18:41:02913Durchsuche

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

Wie parse ich eine lokale JSON-Datei aus dem Assets-Ordner in eine ListView?

Das Parsen von JSON-Dateien aus lokalen Assets ist eine häufige Aufgabe bei der Android-Programmierung, insbesondere beim Arbeiten mit statischen Daten. So können Sie dies effektiv erreichen:

1. Lesen der JSON-Datei:

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;
}

Diese Methode öffnet die Datei „formules.json“ aus dem Assets-Ordner, liest ihren Inhalt in einen Puffer und gibt die resultierende JSON-Zeichenfolge zurück.

2. Parsen des JSON-Strings:

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();
}

Hier analysieren wir den JSON-String in ein JSONObject. Anschließend durchlaufen wir das Array „formules“ und extrahieren die Werte „formule“ und „url“. Wir speichern diese Werte in einer HashMap und fügen sie einer ArrayList hinzu.

3. Anzeigen der Daten in einer ListView:

Sobald Sie die Daten in einer ArrayList haben, können Sie einen ArrayAdapter verwenden, um sie in einer ListView anzuzeigen. Erstellen Sie einen ArrayAdapter mit dem entsprechenden Kontext und Layout und legen Sie ihn auf Ihre ListView fest.

Das obige ist der detaillierte Inhalt vonWie analysiere ich eine lokale JSON-Datei aus Assets in eine ListView in Android?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn