Heim > Java > javaLernprogramm > Hauptteil

Warum erhalte ich beim Parsen von JSON in Java den Fehler „BEGIN_ARRAY erwartet, aber BEGIN_OBJECT'?

Patricia Arquette
Freigeben: 2024-10-26 17:14:02
Original
480 Leute haben es durchsucht

Why Am I Getting a

JSON-Parsing-Fehler: „BEGIN_ARRAY erwartet, aber BEGIN_OBJECT“

In Java tritt der Fehler „BEGIN_ARRAY erwartet, aber BEGIN_OBJECT“ auf " aufgrund einer Diskrepanz zwischen der erwarteten und der tatsächlichen JSON-Struktur beim Parsen mit Gson.

JSON-Struktur

Die bereitgestellte JSON-Antwort vom Server ist kein Array, sondern ein einzelnes Objekt:

<code class="json">{
  "dstOffset" : 3600,
  "rawOffset" : 36000,
  "status" : "OK",
  "timeZoneId" : "Australia/Hobart",
  "timeZoneName" : "Australian Eastern Daylight Time"
}</code>
Nach dem Login kopieren

Gson-Parsing-Code

In Ihrem Code gehen Sie jedoch fälschlicherweise davon aus, dass die JSON-Antwort ein Array von Post-Objekten ist:

<code class="java">List<Post> postsList = Arrays.asList(gson.fromJson(reader, Post[].class));</code>
Nach dem Login kopieren

Gson erwartet ein Array und löst daher den Fehler aus, wenn es in der JSON-Antwort auf das Zeichen BEGIN_OBJECT stößt.

Lösung

An Beheben Sie den Fehler, ändern Sie Ihren Code so, dass er ein einzelnes Post-Objekt erwartet:

<code class="java">Post post = gson.fromJson(reader, Post.class);</code>
Nach dem Login kopieren

Diese Änderung passt sich der tatsächlichen JSON-Struktur an und beseitigt den Parsing-Fehler.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Parsen von JSON in Java den Fehler „BEGIN_ARRAY erwartet, aber BEGIN_OBJECT'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage