Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Gson阅读器只能读取一次?_Android_Json_Gson_Jsonobject - Fatal编程技术网

Android Gson阅读器只能读取一次?

Android Gson阅读器只能读取一次?,android,json,gson,jsonobject,Android,Json,Gson,Jsonobject,我正在使用Gson解析器对Json对象和对象模型进行一些测试。 有一件事我不明白,为什么读者只能读一次 代码示例: Reader targetReader = new StringReader(jdb); String targetString = ""; try { int intValueOfChar; while ((intValueOfChar = reader.read()) != -1) { targetString += (char) intVa

我正在使用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");
在这段代码中,第一个while变得很完美,读取和写入字符串,但是我想读取它并解析到对象,但是读取器是空的

有没有办法保存这些信息并加以回收?
我以前必须克隆它吗?怎么做?

因为当你从读卡器中读取时,它会沿着你正在读取的内容移动指针。所以读完一次之后,你已经读到了你要读的东西的末尾。看看StringReader的功能。

太好了,我会试试看!看看会发生什么。不起作用,给我一个例外。并试图设置一个标记和相同的异常