我正在使用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但读者是空的!!
有没有办法保存信息并进行回收? 我以前必须克隆它吗?如何?
答案 0 :(得分:0)
因为当您从阅读器中读取时,它会沿着您正在阅读的内容移动指针。因此,在阅读过一次之后,您已经处于阅读的最后阶段了。看一下StringReader的the reset() method。