У меня проблемы с получением ответа массива JSON с моего сервера в моем приложении Android. В настоящее время мой код PHP выглядит следующим образом:
$con = $this->connect_to_db();
$data = array($userID);
$stmt = $con->prepare("SELECT AccountName, AccountAmount FROM Account WHERE User_idUser = ?;");
$res = $stmt->execute($data);
echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC));
При переходе к другому php-файлу, который я вызываю через командную строку, я получаю весь ответ правильно, а именно (довольно красиво):
[
{
"AccountName": "POTATO",
"AccountAmount": "12000.00"},
{
"AccountName": "SpartanSaver",
"AccountAmount": "1200.00"},
{
"AccountName": "TestAccount",
"AccountAmount": "12000.00"}
]
Однако в моем приложении для Android я получаю только слово «Массив» в теле ответа. Этот код:
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(getAccountsUrl)
.post(body)
.build();
try {
Response response = client.newCall(request).execute();
Log.i("RESPONSE", response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
Выход в Logcat от этого есть
I/RESPONSE﹕ Array
Я не могу понять, почему это единственное, что я получаю, когда все это возвращается при вызове тестового php-файла. Буду признателен за любую помощь в этом.
Задача ещё не решена.
Других решений пока нет …