在android中解析json数组

在android中解析json数组,android,json,Android,Json,我正在编写一个android代码来解析json数组。我不知道该怎么做。但是,我尝试分析数组 以下是我需要做的事情: 我想将“status”存储在一个变量中 另外,我想以字符串的形式迭代存储“ButtonImageUrl”、“ImageUrl”、“Title”、“Url” 如果有人能指导我该如何进行,那将非常有帮助 { "first": { "message": "", "status": "Success" }, "second": [ { "Bu

我正在编写一个android代码来解析json数组。我不知道该怎么做。但是,我尝试分析数组

以下是我需要做的事情:

我想将“status”存储在一个变量中

另外,我想以字符串的形式迭代存储“ButtonImageUrl”、“ImageUrl”、“Title”、“Url”

如果有人能指导我该如何进行,那将非常有帮助

{
  "first": {
    "message": "",
    "status": "Success"
  },
  "second": [
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    },
    {
      "ButtonImageUrl": "string1",
      "ImageUrl": "string2",
      "Title": "string3",
      "Url": "string4"
    }
  ]
}
代码:

private void jsonrequest2()
{
request=newjsonarrayrequest(JSON_URL2,newresponse.Listener()){
@凌驾
公共void onResponse(JSONObject响应){
尝试
{
jsonArray=null;
jsonArray=response.getJSONArray(“第二”);
//jsonObject=response.getJSONArray(“第二”);
}捕获(JSONException e){
e、 printStackTrace();
}

对于(inti=0;i首先,响应是一个JSONObject,而不是JSONArray。 您的代码应该是这样的

public void onResponse(JSONObject response) {
    //Storing status into a variable
    try{
        JSONObject firstObject = response.getJSONObject("first");
        String status = firstObject.getString("status");

        //Accessing the JSONArray
        JSONArray jsonArray = response.getJSONArray("second");
        String mButtonImageUrl, mUrl, mImageUrl, mTitle;
        for(int i=0; i<jsonArray.length(); i++){
            JSONObject innerObject = jsonArray.getJSONObject(i);
            mButtonImageUrl = innerObject.getString("ButtonImageUrl");
            mUrl = innerObject.getString("Url");
            mImageUrl = innerObject.getString("ImageUrl");
            mTitle = innerObject.getString("Title");

            //These variables will be updated in every iteration. Store them or use them as you want here. 
        }
    }
    catch(JSONException e){
        e.printStackTrace();
    }
}
//...
public void onResponse(JSONObject-response){
//将状态存储到变量中
试一试{
JSONObject firstObject=response.getJSONObject(“第一”);
字符串状态=firstObject.getString(“状态”);
//访问JSONArray
JSONArray JSONArray=response.getJSONArray(“第二”);
字符串mbutonimageurl、mUrl、mImageUrl、mTitle;

对于(int i=0;使用gson库到parson json到POJO您的
响应
不是一个
JSONArray
,它是一个
JSONObject
@VladyslavMatviienko先生,您能检查更新的代码是否正确吗?同样不正确。您的json是json对象,而您正在执行
JSONarraryRequest
@VladyslavMatviienko先生我已经将JSONArray响应更改为JSONObject响应,并相应地更改了代码。先生,您能看一下代码吗。
public void onResponse(JSONObject response) {
    //Storing status into a variable
    try{
        JSONObject firstObject = response.getJSONObject("first");
        String status = firstObject.getString("status");

        //Accessing the JSONArray
        JSONArray jsonArray = response.getJSONArray("second");
        String mButtonImageUrl, mUrl, mImageUrl, mTitle;
        for(int i=0; i<jsonArray.length(); i++){
            JSONObject innerObject = jsonArray.getJSONObject(i);
            mButtonImageUrl = innerObject.getString("ButtonImageUrl");
            mUrl = innerObject.getString("Url");
            mImageUrl = innerObject.getString("ImageUrl");
            mTitle = innerObject.getString("Title");

            //These variables will be updated in every iteration. Store them or use them as you want here. 
        }
    }
    catch(JSONException e){
        e.printStackTrace();
    }
}
//...