2013-08-02 42 views
-2

我有json文件。现在,字段名称"refs"不适用于每个阵列。那么,解析这种领域的过程是什么。因为,当我尝试解析json文件时,第一个数组没有"refs"字段,但第二个数组没有。这就是为什么它会抛出空指针异常。我试着用这个代码解析JAVA中的json文件

JSONArray jsonArray = new JSONArray(tokener); 

for (int index = 0; index < jsonArray.length(); index++) { 

     JSONObject jsonObject = jsonArray.getJSONObject(index); 

      if(!jsonObject.getString("refs").equalsIgnoreCase(null)){ 
       String refs = jsonObject.getString("refs"); 
        } 
     } 

但是,它不工作。处理这种情况的方法是什么,或者解决这个问题的方法是什么。谢谢。

+0

试试这个教程,并按照每一步http://www.androidhive.info/2012/01/android-json-parsing-tutorial/ – baloo

+0

你可以给你的JSON响应。 – Suraj

回答

2

如果您不确定密钥是否存在,请致电has先检查。

2

问题是在你的if语句....

if(!jsonObject.getString("refs").equalsIgnoreCase(null)){ 

什么,你应该写的是:

if(!jsonObject.has("refs")){ 

希望帮助

1

试试这个

if(jsonObject.has("refs")){ 

    refs = jsonObject.getString("refs"); 
} 
1

你可以通过只是取代克'如果'这样的条件,它对我有用,希望对你有用。

if(jObj.optString("refs") != null)