Получить данные JSON из LoopJ AndroidAsyncHttp
Я пытаюсь получить ответ от моего сервера node.js с базой данных MySQL.
Когда я подключаюсь к серверу с помощью моего браузера, я получаю такой результат:
[{"person_id":0,"age":18},{"person_id":1,"age":17},{"person_id":2,"age":30}]
То, что я хочу сделать, это получить тот же результат с моим приложением для Android после нажатия кнопки.
Я хотел использовать LoopJ AndroidAsyncHttp:
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://localhost:3000", new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONArray response) {
super.onSuccess(statusCode, headers, response);
}
});
Я знаю, что правильно подключился к серверу, потому что получил логин в консоли сервера. Какой самый простой способ получить эти данные?
1 ответ
Создайте модель Person, содержащую "person_id" и "age"
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://localhost:3000",new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
try {
String response = responseBody == null ? null : new String(
responseBody, getCharset());
Log.d("Response: ", response);
Gson gson = new Gson();
Person[] arr = gson.fromJson(response, Person[].class);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}