Gson Reader只能读一次吗?

时间:2014-10-01 16:16:32

标签: android json gson jsonobject

我正在使用Gson解析器对Json对象和对象模型进行一些测试。 有一件事我无法理解,为什么读者可以阅读一次?

代码示例:

Reader targetReader = new StringReader(jdb);

String targetString = "";

try {
    int intValueOfChar;
    while ((intValueOfChar = reader.read()) != -1) {
        targetString += (char) intValueOfChar;
        }
} catch (IOException e) {
    e.printStackTrace();
}

JsonParser jp = new JsonParser();
JsonObject jason = jp.parse(reader).getAsJsonObject();

JsonArray votes_a = jason.getAsJsonArray("votesA");
JsonArray votes_b = jason.getAsJsonArray("votesB");

在这段代码中,第一次完美,读取和写入String然后我想读取它并解析为Object但读者是空的!!

有没有办法保存信息并进行回收? 我以前必须克隆它吗?如何?

1 个答案:

答案 0 :(得分:0)

因为当您从阅读器中读取时,它会沿着您正在阅读的内容移动指针。因此,在阅读过一次之后,您已经处于阅读的最后阶段了。看一下StringReader的the reset() method