JSON数组按名称

时间:2016-02-13 12:56:54

标签: android json

public void onResponse( String response ){
    JSONArray jsonArray ;
    try{
        JSONObject jsonObject = jsonArray.getJSONObject(1);
        String result = jsonObject.getString("name");
        t.setText(result);
    }
    catch(JSONException e){
        e.printStackTrace();
    }
}

我的json文件是

[  
{  
  "0":"1",
  "1":"Adarsh",
  "id":"1",
  "name":"Adarsh"
},
{  
  "0":"2",
  "1":"Asif",
  "id":"2",
  "name":"Asif"
},
{  
  "0":"3",
  "1":"Baba",
  "id":"3",
  "name":"Baba"
},
{  
  "0":"4",
  "1":"Beeta",
  "id":"4",
  "name":"Beeta"
}
]

在我的应用程序中,它不会检索“name”的值而是显示错误Toast。

3 个答案:

答案 0 :(得分:0)

jsonArray尚未初始化

jsonArray = new JSONArray("yourjson");

String name = jsonArray.getJSONObject(1).getString("name");

答案 1 :(得分:0)

首先将您的字符串响应更改为json响应,如下所示:

JsonArray jarray=new JsonArray(response); 
JSONObject jsonObject = jsonArray.getJSONObject(1);
String result = jsonObject.getString("name");
t.setText(result);

答案 2 :(得分:0)

在这里,您尝试根据您的评论从字符串中获取数据,因此需要首先转换为json,如此

public void onResponse( String response ){
   try{
     JSONArray jsonArray= new JSONArray(response);
     Log.d("JsonArray", jsonArray.toString());
     JSONObject jsonObject = jsonArray.getJSONObject(1);
     String result = jsonObject.getString("name");
     t.setText(result);
  }
  catch (Throwable t) {
    Log.e("ERROR", "Wrong Json format");
  }
  catch(JSONException e){
     e.printStackTrace();
  }
}