解析JSONArray时获取NullPointerException

时间:2014-04-23 12:21:48

标签: java json arrays

第一次使用JSON。问题是 -

即使在处理空的json数组之后,我也得到空指针异常。 我创建了一个josn文件文件,其中有一个空数组。我的json文件就像 -

{
   "name" :"jsonObject",

   "myArray" : []
}

对于解析我使用的是json.simple-1.1.1.jar。 我的java代码是 -

JSONParser parser = new JSONParser();
        JSONObject rootObj = (JSONObject) parser.parse(new FileReader(filePath));           

        String str = (String) rootObj.get("name");

        JSONArray array = (JSONArray)rootObj.get("array");

        if(array.isEmpty())
            System.out.println("array is null");

在json文件中,数组有时会为空,有时则不为。处理它的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您的会员姓名为myArray而不是array。这有效:

JSONArray array = (JSONArray) rootObj.get("myArray");

要检查该成员是否使用has()

if(rootObj.has("myArray")) {
    JSONArray array = rootObj.getJSONArray("myArray"); // getJSONArray avoids cast :-)
    // ...
}

请参阅: http://www.json.org/javadoc/org/json/JSONObject.html#has%28java.lang.String%29