JSON-Parsing mit GSON in Android
Problem:
Es tritt ein Fehler auf in Zeile 73 Ihrer JSON-Daten, wenn Sie versuchen, sie mit GSON zu analysieren. Konkret weist der Fehler darauf hin, dass ein BEGIN_OBJECT erwartet, aber ein NAME angetroffen wird.
Antwort:
1. Passen Sie die Parsing-Methode an:
Erwägen Sie eine Überarbeitung Ihrer JsonParse-Methode, um den GSON-Wert wie folgt zu lesen:
<code class="java">Gson gson = new Gson(); Reader reader = new InputStreamReader(ims); GsonParse gsonObj = gson.fromJson(reader, GsonParse.class);</code>
Angenommen, Sie erhalten einen einzelnen Block von JSON-Daten und nicht eine Liste , dieser Ansatz sollte funktionieren. Passen Sie die ims-Variable an, um den Stream zu definieren, aus dem Sie lesen möchten.
2. Überprüfen Sie die Klassenstruktur:
Stellen Sie sicher, dass Ihre GsonParse- und Words-Klassen die richtigen Feldnamen und Datentypen haben. Hier sind die aktualisierten Versionen:
GsonParse.class:
<code class="java">public class GsonParse { private String count; private String colbreak; private String score; private List<Words> mWords = new ArrayList<>(); private String seek; // getters and setters omitted for brevity }</code>
Words.class:
<code class="java">public class Words { private String count; private String word; private String name; private String words; private String seek; // getters and setters omitted for brevity }</code>
3. UTF-8-Kodierung:
GSON unterstützt UTF-8-Zeichen nicht direkt. Wenn Sie also eine Antwort über HTTP erhalten, müssen Sie diese in der HTTP-Antwort selbst in UTF-8 konvertieren . Sie können den folgenden Code verwenden:
<code class="java">String jsonString = new Gson().toJson(objectToEncode); byte[] utf8JsonString = jsonString.getBytes("UTF8"); responseToClient.write(utf8JsonString, 0, utf8JsonString.Length);</code>
4. Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Parsen von JSON mit GSON in Android die Fehlermeldung „BEGIN_OBJECT erwartet, aber NAME gefunden“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!