如何使用Android Volley解析以下JSON?
[ { “ msg”:“成功”, “ id”:“ 1542”, “ firstname”:“ Sam”, “ lastname”:“ Benegal”, “电子邮件”:“ bs@gmail.com”, “ mobile”:“ 8169830000”, “ appapikey”:“ f82e4deb50fa3e828eea9f96df3bb531” } ]
答案 0 :(得分:0)
这看起来很像标准的JSON,因此Volley的JsonObjectRequest
和JsonArrayRequest
请求类型应该为您解析它。例如:
JsonArrayRequest request = new JsonArrayRequest(
Request.Method.GET,
"https://yoururl",
null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONArray response) {
JSONObject msg1 = response.getJSONObject(0);
String firstName = msg.getString("firstname") // Sam
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// TODO
}
}
);
从文档改编而成的代码示例,这里:https://developer.android.com/training/volley/request#request-json。
答案 1 :(得分:0)
StringRequest stringRequest = new StringRequest(URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray jsonArray1 = new JSONArray(response);
for (int i = 0; i < jsonArray1.length(); i++) {
JSONObject object = jsonArray1.getJSONObject(i);
{
Toast.makeText(this, ""+object.getString("msg")+"\n"+object.getString("id"), Toast.LENGTH_SHORT).show();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
requestQueue.add(stringRequest);