Json解析器NullPointerException

时间:2017-02-12 12:33:51

标签: java json parsing nullpointerexception

我试图用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循环,有时它会有这个键,有时没有。

提前致谢!

0 个答案:

没有答案