Есть ли конфигурация PHP для передачи объекта JSON на Android?

Я пытаюсь отправить объект JSON из веб-службы PHP в мое приложение для Android. Первоначально для проверки, возвращает ли мой PHP-файл значение JSON, я набрал URL в браузере и получил правильное значение по желанию. Чтобы проверить мой код Android, я выполнил код, используя правильный URL-адрес хоста, но получил только «[]» в качестве вывода в logcat. В целях отладки я создал бесплатный веб-хостинг и базу данных на hosthinger.com. На этот раз точно такой же код PHP и Android работал нормально, давая мне желаемый результат. Список вещей, которые мы сделали, чтобы убедиться, что нет ошибок:

  1. Проверено сопоставление базы данных в обоих хостингах (utf8_unicode_ci)
  2. Оба хостинга вернули правильное значение в браузере.

Есть ли конкретная конфигурация PHP для объектов JSON? Или я пропускаю какую-либо информацию заголовка? Я не понимаю, почему код работает отлично на одном хостинге, а не на другом.

Вот мой PHP-код:

<?php
include ('mysqlconnection.php');
$mobile =  $_POST['mobile_number'];
$output = array();
$query="select name,status from content;";
$sql = mysql_query($query);
while($row = mysql_fetch_assoc($sql)) {
$output[]= array( 'imagename' => $row['name'], 'status' => $row['status'] );
}
echo json_encode($output);
?>

0

Решение

Может быть, вам нужно указать content.type в вашем php:

header('Content-Type: application/json');
0

Другие решения

  • Вы должны использовать выходной буфер с application/json заголовок, а не просто повторяя json_encode() выход.

  • Некоторые серверы склонны выдавать ошибки при работе с MySQL, проверьте настройки. И не использовать mysql_* функции, использование PDO или по крайней мере MySQLi вместо.

  • Вы должны проверить возможные ошибки в вашем коде, проверить ваше соединение, результаты запроса и т. Д. Затем вы можете сгенерировать JSON для вывода.

  • Убедитесь, что ваш сервер error_reporting установлен в 0, Иногда серверы распечатывают предупреждения, уведомления и сообщения об ошибках, которые портят ваш вывод.

0

Вы можете использовать расширение Google Chrome PostMan для просмотра результатов вашего веб-сервиса. Он также показывает вывод как проанализированный json.

0
По вопросам рекламы [email protected]