Java 如何在响应中解析JSON
我正在使用volley并实现json解析。我正在进行json解析,并在列表视图中显示数据。我已经做了getter setter、singleton类、adapter等,但是在解析的时候我面临着困难,如何解析Java 如何在响应中解析JSON,java,android,json,android-volley,Java,Android,Json,Android Volley,我正在使用volley并实现json解析。我正在进行json解析,并在列表视图中显示数据。我已经做了getter setter、singleton类、adapter等,但是在解析的时候我面临着困难,如何解析 { "result": [{ "id": "1", "name": "Prabhat", "email": "prabhat@gmail.com" }, { "id": "2", "name": "Apurva", "email": "apu@
{
"result": [{
"id": "1",
"name": "Prabhat",
"email": "prabhat@gmail.com"
}, {
"id": "2",
"name": "Apurva",
"email": "apu@gmail.com"
}, {
"id": "3",
"name": "sunny",
"email": "sunny@mail.com"
}, {
"id": "4",
"name": "Creation InfoTech",
"email": "creation@gmail.com"
}, {
"id": "5",
"name": "Sanjay Mishra",
"email": "sanju19@gmail.com"
}]
}
我的java代码是
**面对解析的困难,请在浏览列表之前回复**,您首先需要获得JSONArray: JSONArray数组=response.getJSONArrayresult 然后在阵列中漫游:
对于int i=0;i<数组长度;i++{…}试试看,这段代码将帮助您将数据读入两个字符串数组,然后您可以对它们执行任何操作
JsonObjectRequest request = new JsonObjectRequest(url_Array, new JSONObject(), new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
JSONArray jsonArray = jsnobject.getJSONArray("result");
String[] name=new String[jsonArray.length()];
String[] email=new String[jsonArray.length()];
for (int i = 0; i < jsonArray.length(); i++) {
try {
Log.d(TAG, "working");
JSONObject student=jsonArray.getJSONObject(i);
name[i]=student.getString("name");
email[i]=student.getString("email");
} catch (JSONException e) {
e.printStackTrace();
}
}
adapter.notifyDataSetChanged();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "Something not ok", Toast.LENGTH_SHORT).show();
}
}); AppController.getInstance(getApplicationContext()).AddtoRequestQueue(request);
}
面临解析困难。我们该怎么办?这是什么意思?您是否收到错误?是的,我在响应中遇到错误。您收到了什么错误,或者希望得到什么结果?只需创建适当的模型并使用Gson lib进行反序列化。它仅在列表视图的第一行显示数据,其余4行数据不显示
JsonObjectRequest request = new JsonObjectRequest(url_Array, new JSONObject(), new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
JSONArray jsonArray = jsnobject.getJSONArray("result");
String[] name=new String[jsonArray.length()];
String[] email=new String[jsonArray.length()];
for (int i = 0; i < jsonArray.length(); i++) {
try {
Log.d(TAG, "working");
JSONObject student=jsonArray.getJSONObject(i);
name[i]=student.getString("name");
email[i]=student.getString("email");
} catch (JSONException e) {
e.printStackTrace();
}
}
adapter.notifyDataSetChanged();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "Something not ok", Toast.LENGTH_SHORT).show();
}
}); AppController.getInstance(getApplicationContext()).AddtoRequestQueue(request);
}