无法解析json对象(android)

时间:2015-07-30 09:38:47

标签: android json

对不起我的英文,我无法像这样解析json个对象:

{
    "user": {
        "id": 34,
        "last_login": {
            "date": "2015-07-30 11:22:34.000000",
            "timezone_type": 3,
            "timezone": "Europe/Oslo"
        }
    }
}

我不知道,为什么它不起作用。我需要解析last_login,但我不能这样做

我的代码

JSONObject jsonTable = json.getJSONObject("user");

                if(jsonTable.length() > 0) {
                    check = true;

                    ProfileDetalisObject pfDet = new ProfileDetalisObject();

                    pfDet.setId(jsonTable.getString(TAG_ID));


                    JSONObject date = jsonTable.getJSONObject("last_login");
                    if(date.length() > 0) {
                        Iterator<String> iteratorDate = date.keys();

                        while( iteratorDate.hasNext() ) {
                            String currentKeySensor = iteratorDate.next();
                            JSONObject objDate = date.optJSONObject(currentKeySensor);

                            if(objDate != null) {
                                pfDet.setDate(objDate.getString("date"));
                                pfDet.setTimezone_type(objDate.getString("timezone_type"));
                                pfDet.setTimezone(objDate.getString("timezone"));
                            }
                        }
                    }

我无法解析last_login

1 个答案:

答案 0 :(得分:2)

last_login是普通的json对象(又名字典),所以你不需要任何迭代器,只需直接到达键:

JSONObject date = jsonTable.getJSONObject("last_login");
pfDet.setDate(date.getString("date"));
pfDet.setTimezone_type(date.getString("timezone_type"));
pfDet.setTimezone(date.getString("timezone"));