Я узнаю о Залп и не знаю, почему ответ от метода GET приходит в виде одного символа -> [.
Я использую этот метод для получения ответа JSON:
public void getJsonMethod() {
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(context);
// String url = "https://www.w3schools.com/js/myTutorials.txt";
String url = "http://www.google.com"; // with this url I am getting response
// Request a string response from the provided URL.
final StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println("Response is: " + response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("Response is not good" + error.getMessage());
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
}
Когда я использую эту ссылку Я получаю ответ, но когда я пытаюсь использовать какую-то ссылку, котораяне содержит ничего, кроме JSON как этот мой ответ это "[".
Я вызываю этот метод из Activity следующим образом:
GetJsonClass getJson = new GetJsonClass(this);
getJson.getJsonMethod();
Любые идеи о том, что я делаю здесь не так?
Ответ + код
Если кто-то начнет использовать Volley, может быть, это может помочь ему:
как Дэвид Лакруа сказал в своем ответе, что я позвонил stringRequest
, а не JsonArrayRequest
.
Вот как это должно было быть:
public void getJsonMethod() {
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(context);
String url = "your url";
JsonArrayRequest jsonObjectRequest = new JsonArrayRequest(url, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
System.out.println("this is response good" + response);
}
}, new ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("this is response bad" + error);
}
});
queue.add(jsonObjectRequest);
}