如果它有一个空/空值,如何跳过android中的json对象(来自json数组)?

时间:2016-08-04 08:20:29

标签: android json

我正在开发一个应用程序,用户可以在其中获取其他用户的列表,但如果他们没有完成他们的个人资料,我必须跳过用户

好的,看看我的代码:

Iterator<String> keys = json.keys();
                        while (keys.hasNext()) {
                            String key = keys.next();
                            JSONObject js = json.optJSONObject(key);
                            if (js != null) {
                                String user_info = js.getString("user_info");
                                user.setInfo(user_info);
                            } else {

                            }
                        }

我应该怎么做(其他)

继承人我的json:

 "users": [
{
  "id": 73,
  "name": "Name",
  "lastname": "Lastname",
  "email": "",
  "create_date": 1469874203
},
{
  "id": 73,
  "name": "Name",
  "lastname": "Lastname",
  "email": "",
  "create_date": 1469874203
  "profile"{
           "address": string...
           "avatar": url...
      }

},

类似的东西

2 个答案:

答案 0 :(得分:2)

可以使用此代码

完成
if (myObject.has("object_name") && !myObject.isNull("object_name")) {
    // Consider this user.
  }else{
    // Avoid this user.
  }

您也可以在if块中通过myObject.isNull("object_name")直接检查空值。 希望这有帮助!

答案 1 :(得分:2)

这样做:

JSONObject jsonObject = new JSONObject(responseString);
JSONArray jsonArray = jsonObject.getJSONArray("users");
if(jsonArray.lenght() > 0){
    for(int i=0; i<jsonArray.length(); i++)
    {
        JSONObject object = jsonArray.getJSONObject(i);
        if(object.has("profile")){
            Iterator<String> keys = object.keys();
            while (keys.hasNext()) {
                String key = keys.next();
                if(TextUtils.isEmpty(key)){
                    break;
                }
                else{
                    User user = new User();
                    //parse and save user details
                }
            }
        }
    }
}