是否有任何JSON
库(阅读器)可以从数据源(例如,)进行字符串提取,“拉”式(逐条记录)InputStream
,而无需将输入完全解析为对象?
例如,考虑JSON
在一行中包含以下 3 条记录的文件:
{"a":"b"}{"c":"d"}{"e":"f"}
这些可以分布在 3 行中,也JSON
可以有多行记录,例如
{
"a":"b"
}
需要的是一个 JSON 字符串“阅读器”,它可以根据需要逐条记录地迭代所有输入(类似于Iterator<String>
对象)(即像StAX,而不是SAX)。例如,在上述有 3 条记录的情况下,输出将依次为
reader.next() --> {"a":"b"}
reader.next() --> {"c":"d"}
reader.next() --> {"e":"f"}
一种技术是使用一个库来解析对象中的记录(例如,像JacksonJsonNode
中的对象),然后从提取的对象中检索字符串版本,但是对于只读这有不必要的解析开销。