У меня есть приложение для Android. в этом приложении я отправляю некоторые строковые данные на сервере и получаю некоторый ответ. Проблема в том, что я получаю ответ в jsonstring, но мне нужны эти данные в json-массиве. althouugh, когда я использую JsonArrayRequest, он не разрешал метод post в параметре, а затем моя веб-служба не работала. Итак, я придерживаюсь StringRequest, и сервис работает нормально, но полный ответ возвращается как целая строка. Поэтому я не могу отображать свои данные мой просмотр списка. Итак, как решить эту проблему?Как обращаться с массивом объектов в ответ при использовании StringRequest в андроид-волейбол
Вот мой код:
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(NewSearchPeople.this, response, Toast.LENGTH_LONG).show();
// search1();
try {
JSONArray jsonArray = new JSONArray(response);
for(int i=0;i<jsonArray.length();i++){
JSONObject obj = jsonArray.getJSONObject(i);
Movie movie = new Movie();
movie.setTitle(obj.getString("fullname"));
movie.setThumbnailUrl(obj.getString("image"));
movie.setRating(obj.getString("location"));
movie.setGenre(obj.getString("Description"));
movie.setYear(obj.getInt("id"));
movieList.add(movie);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(NewSearchPeople.this, error.toString(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("fullname", "pooja");
return params;
}
};
Вот JSON ответ:
[
{
"id":"442",
"fullname":"xyz(18 yr)",
"image":"\/2017-02-0823:49:521486619389674.jpg",
"location":"lkn","Description":null
},
{
"id":"443",
"fullname":"abc(28 yr)",
"image":"\/2017-02-0823:51:381486619493934.jpg",
"location":"md","Description":null
},
{
"id":"444",
"fullname":"Arya(25 yr)",
"image":"\/2017-02-0823:52:251486619540695.jpg",
"location":"ud","Description":null
}
]
Возможный дубликат [Как разбирать вложенный массив json в android с помощью библиотеки volley] (http://stackoverflow.com/questions/40818219/how-to-parse-nested-json-array-in-android- using-volley-library) –
Проверьте, что 'JSONArray' имеет значение null или нет. чем начать разбор. – Shailesh
Ваш код выглядит отлично. скажите, пожалуйста, с какой проблемой вы столкнулись? – Shailesh