Wie man JSON Array mit Gson analysiert
Ich will der parse-JSON-arrays und mittels gson. Erstens, ich kann die log-JSON-Ausgabe, server ansprechen zu Kunde deutlich.
Hier mein JSON-Ausgabe:
[
{
id : '1',
title: 'sample title',
....
},
{
id : '2',
title: 'sample title',
....
},
...
]
Habe ich versucht, diese Struktur zu analysieren. Eine Klasse, die abhängig von einzelnen array
und ArrayList
für alle JSONArray.
public class PostEntity {
private ArrayList<Post> postList = new ArrayList<Post>();
public List<Post> getPostList() {
return postList;
}
public void setPostList(List<Post> postList) {
this.postList = (ArrayList<Post>)postList;
}
}
Post Klasse:
public class Post {
private String id;
private String title;
/* getters & setters */
}
Wenn ich versuche, mit gson kein Fehler, keine Warnung und kein Protokoll:
GsonBuilder gsonb = new GsonBuilder();
Gson gson = gsonb.create();
PostEntity postEnt;
JSONObject jsonObj = new JSONObject(jsonOutput);
postEnt = gson.fromJson(jsonObj.toString(), PostEntity.class);
Log.d("postLog", postEnt.getPostList().get(0).getId());
Was ist falsch, wie kann ich das Problem lösen?
InformationsquelleAutor der Frage Ogulcan Orhan | 2011-12-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie analysieren die
JSONArray
direkt, nicht brauchen, um wickeln Sie IhrePost
Klasse mitPostEntity
man mehr Zeit und brauchen nicht neueJSONObject().toString()
entweder:Hoffe, das hilft.
InformationsquelleAutor der Antwort yorkw
War ich auf der Suche nach einer Möglichkeit, parse-Objekt-arrays in einen allgemeineren Weg; hier ist mein Beitrag:
CollectionDeserializer.java
:JSONParsingTest.java
:World.java
:InformationsquelleAutor der Antwort Miere
InformationsquelleAutor der Antwort Salman khan
Einige der Antworten, dieser post gültig sind, aber mit TypeToken, die Gson-Bibliothek erzeugt eine Baum-Objekte mit unreal-Typen für Ihre Anwendung.
Um es zu bekommen, mußte ich Lesen das array und konvertieren, indem man die Objekte in das array. Natürlich ist diese Methode nicht die Schnellste und ich weiß nicht empfehlen, es zu benutzen, wenn Sie das array zu groß ist, aber es funktionierte für mich.
Ist es notwendig, neben der Json-Bibliothek in das Projekt. Wenn Sie die Entwicklung auf Android, es ist enthalten:
InformationsquelleAutor der Antwort J.S.R - Silicornio