我试图用for循环解析一个Json文件。问题是当我试图获得一个在数组元素上不存在的键时。这是Json文件的一个例子:
{
"data": [
{
"id": "1445168029094512_1863149637296347",
"created_time": "2017-02-12T11:00:18+0000",
"likes": {
"data": [],
"summary": {
"total_count": 0
}
}
},
{
"shares": {
"count": 1
},
"id": "1445168029094512_1862494140695230",
"created_time": "2017-02-11T00:30:17+0000",
"likes": {
"data": [],
"summary": {
"total_count": 0
}
}
}]
}
代码示例:
Gson gson = new Gson();
String responseData = response.toString();
JsonObject jsonFile = gson.fromJson(responseData, JsonObject.class);
for(int i = 0 ; i < array.size(); i++){
Data data = new Data();
if(array.get(i).getAsJsonObject().get("shares").getAsJsonObject().get("count")!= null) {
jsonElement = array.get(i).getAsJsonObject().get("shares").getAsJsonObject().get("count");
element = jsonElement.toString();
data.setShares(Long.parseLong(element));
}
}
问题是在数组的第一个元素上,键&#34;共享&#34;不存在,所以这会导致NullPointerException。我不知道如何处理这个,因为这是一个for循环,有时它会有这个键,有时没有。
提前致谢!