我正在使用 gson 来解析 JSON 回复。该代码适用于正确的 JSON 响应。但是,如果 JSON 回复是空数组,我的代码一直在抱怨“期待 begin_object 但得到 end_array”
JSON response
{
"list" : {
"data" : [
]
}
}
我的代码
try {
jsonReader.beginArray();
do{
jsonReader.beginObject();
while(jsonReader.hasNext()){
// Parse all data
jsonReader.endObject();
} while(jsonReader.hasNext());
jsonReader.endArray();
} catch (IOException e) {
//Exception
}
我知道上面的异常是什么意思,它只是意味着它期望一个数组中的对象来处理。但由于它是一个空数组,它会给出异常。
但是我查看了 api 指南,没有方法可以检查 JSON 是空数组还是输入流中的下一个对象是对象还是数组结尾等。
谁能告诉我 GSON API 中存在任何此类方法。或者我们如何才能解决这个问题?
编辑:我已经修改了从服务器获得的响应。