如何使用GSON解析JSON文件

11 浏览
0 Comments

如何使用GSON解析JSON文件

我有一个非常简单的JSON,其中包含产品的评论,如下所示:

{

"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."

}

我想使用GSON将其读入我的Java应用程序中。我已经构建了一个类来保存每个评论的结果:

public class Review {
    private String reviewerID;
    private String asin;
    private String reviewerName;
    private ArrayList helpful;
    private String reviewText;
    private Double overall;
    private String summary;
    private Long unixReviewTime;
    private String reviewTime;
    public Review() {
        this.helpful = Lists.newArrayList();
    }
    // 一些getter和setter...

为了读取JSON文件,我的代码如下:

Gson gson = new Gson();
JsonReader reader = new JsonReader(new FileReader(filename));
Review data = gson.fromJson(reader, Review.class);
data.toScreen(); // 将一些值打印到屏幕上

使用这段代码,我只能检索到JSON中的第一个评论,所以我的问题是:如何迭代整个reader并获取下一个评论?我不需要将评论存储在列表中,只需访问对象一次。任何帮助将不胜感激。

0