Получить данные 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();
                }
            }
Другие вопросы по тегам