如何检查json对象中的状态以从android中的对象数组中获取图像

时间:2016-04-22 05:04:20

标签: android android-layout android-fragments android-studio android-json

首先,我需要检查json对象状态400,如果状态为400,则获取图像,否则显示错误。我不知道如何检查android volley中JSON空对象的状态。我还需要一些关于如何使用横幅路径和横幅名称来获取图像的帮助。

我的Json

  {
    "status": "200",
    "requestType": "bannerImages",
    "basePath": "http:\/\/192.168.0.33\/cartwebsite3\/",
    "bannerPath": "http:\/\/192.168.0.33\/cartwebsite3\/cdn-images\/banner\/",
    "response": {
        "data": [
            {
                "banner_id": "37",
                "banner_name": "1457324300894ac3df08bd3648452703d8412f82c2.jpg",
                "banner_link": "",
                "banner_blocked": "0",
                "banner_created": "admin",
                "created_on": "1457324300"
            },
            {
                "banner_id": "36",
                "banner_name": "14573242986be953c24858a3c2d787d57e6b77be1f.jpg",
                "banner_link": "",
                "banner_blocked": "0",
                "banner_created": "admin",
                "created_on": "1457324298"
            },
            {
                "banner_id": "35",
                "banner_name": "1457324295f8d8153fb4f29d3af15276db22435d48.jpg",
                "banner_link": "",
                "banner_blocked": "0",
                "banner_created": "admin",
                "created_on": "1457324295"
            }
        ]
    },
    "request": {
        "postData": [],
        "getData": {
            "type": "bannerImages",
            "result": "json"
        }
    }
}

先谢谢

3 个答案:

答案 0 :(得分:0)

如果您只是想获得状态,请尝试这样:

JSONObject jsonObject = new JSONObject(jsonString);
String status = jsonObject.optString("status");

如果您想解析整个数据,我建议您使用Gson

答案 1 :(得分:0)

为了方便JSON解析/操作/ etc,在android上使用GSON库。您可以创建自定义对象并直接从解析创建自定义对象的新实例,然后只检查字段或您需要做的任何事情。

CustomObject object= gson.fromJson(JSON, CustomObject.class);
if(object.bannerPath != null) {
  //Do something
}

以下是GSON in Github

此处为GSON tutorial

答案 2 :(得分:0)

//稍微编辑Rohit Arya Code

JSONObject jsonObject = new JSONObject(jsonString);
String status = jsonObject.optString("status");
if(status.equalIgnorecase("400")){
    try {
                    JSONObject jsonObject=new JSONObject("yourResponse");
                   jsonObject1=jsonObject.getJSONObject("response");
                    JSONArray jsonArray=jsonObject1.getJSONArray("data");
                    JSONObject jsonObject2;
                    for(int i=0;i<jsonArray.length();i++){
                        JSONObject c = jsonArray.getJSONObject(i);
                       String banner_name=c.getString("banner_name");
                        Log.e("banner_name",banner_name);
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
}else{
// don't download
}