我一直在寻找示例 Gson 流式 API 代码,我看到了很多这种风格:
reader.beginObject();
while (reader.hasNext()) {
switch(reader.peek()) {
case NAME:
...
case BEGIN_ARRAY:
...
case END_ARRAY:
...
}
reader.endObject();
reader.close();
当 JSON 只有一个“顶级”对象时,该代码非常有效。 hasNext() 循环在第一个对象结束时终止。我需要的是一个循环来处理所有对象。这是我的 JSON 的缩写示例:
{
"meta": {
"disclaimer": "Loren Ipsum",
"terms": "https://myURL/terms/",
"license": "https://myURL/license/",
"last_updated": "2023-03-10",
"totals": {
"skip": 0,
"limit": 12000,
"total": 362818
}
},
"results": [
{"result": "value1"},
{"result": "value2"},
{"result": "value3"},
]
}
这段代码很好地处理了“元”对象,永远不会到达“结果”数组。
高低搜索。