ho una molto semplice JSON con le recensioni di prodotti, come:come analizzare il file JSON con GSON
{
"reviewerID": "A2XVJBSRI3SWDI",
"asin": "0000031887",
"reviewerName": "abigail",
"helpful": [0, 0],
"unixReviewTime": 1383523200,
"reviewText": "Perfect red tutu for the price. ",
"overall": 5.0,
"reviewTime": "11 4, 2013", "summary": "Nice tutu"
}
{
"reviewerID": "A2G0LNLN79Q6HR",
"asin": "0000031887",
"reviewerName": "aj_18 \"Aj_18\"",
"helpful": [1, 1],
"unixReviewTime": 1337990400,
"reviewText": "This was a really cute",
"overall": 4.0,
"reviewTime": "05 26, 2012",
"summary": "Really Cute but rather short."
}
mi piacerebbe leggerlo nella mia applicazione Java utilizzando GSON. Ho creato una classe per contenere i risultati per ogni recensione:
public class Review {
private String reviewerID;
private String asin;
private String reviewerName;
private ArrayList<Integer> helpful;
private String reviewText;
private Double overall;
private String summary;
private Long unixReviewTime;
private String reviewTime;
public Review() {
this.helpful = Lists.newArrayList();
}
// some getters and setters...
di leggere il file JSON, il mio codice è:
Gson gson = new Gson();
JsonReader reader = new JsonReader(new FileReader(filename));
Review data = gson.fromJson(reader, Review.class);
data.toScreen(); // prints to screen some values
Con questo codice, posso recuperare solo la prima recensione in JSON , quindi la mia domanda è: come ripetere tutto il lettore e ottenere le recensioni successive? Non ho bisogno di memorizzare le recensioni in una lista, ho solo bisogno di accedere all'oggetto una volta. Qualsiasi aiuto più che benvenuto.
Analizzare la stringa che si riceve in un nuovo JSONArray(). Per ogni oggetto dell'array, fare gson.fromJson (oggetto, Review.class), quindi aggiungerli tutti a un elenco vuoto list = new LinkedList (); Come in, li analizza tutti in sequenza. –
Schaka