reader对应的方法JsonReader
遵循“对于一个 reader 实例,该方法只需要调用一次”的规则。是否有任何标准工具可以从流中读取直到它结束?
问问题
856 次
1 回答
0
您可能能够JsonReader
在同一个InputStream
/周围重复构建多个 s Reader
。只要您不在流上做任何其他事情并且只要解析器没有提前读取,每个后续的解析器都应该从最后一个停止的地方开始。请注意,它是否可以提前读取是未定义的,并且可能是特定于实现的。另请注意,解析器实现通常会关闭给定的流/读取器,您可能需要使用阻塞关闭的简单流/读取器包装器来抑制这种情况,如下所示:
Json.createReader(new NoCloseInputStream(myInputStream));
否则,请尝试不同的解析器。我有一个FOSS JSON 解析器,可以读取我网站上的离散对象流。
此外,文档没关系; 如果多次调用 、 或 方法中的任何JsonReader
说该read()
方法只需要调用一次;它并没有说它只能调用一次,因此值得尝试read()
反复调用以查看它是否有效。IllegalStateException
一个,这些方法被记录为抛出一个。read
readObject
readArray
close
于 2014-06-25T20:58:33.417 回答