有没有任何PHP配置可以将JSON对象传递给android


Is there any PHP configuration for passing JSON object to android?

我正试图将JSON对象从PHP web服务发送到我的android应用程序。最初,为了检查我的PHP文件是否返回JSON值,我在浏览器中键入了url,并根据需要获得了正确的值。为了检查我的android代码,我使用正确的主机url执行了代码,但在logcat中只得到了"[]"作为输出。出于调试目的,我在hosthinger.com中创建了一个免费的网络托管和数据库。这一次,完全相同的php和android代码运行良好,给了我想要的输出。我们为确保没有错误所做的事情列表:

  1. 检查了两个主机中数据库的排序规则(utf8_unicode_ci)
  2. 两个主机在浏览器中都返回了正确的值

JSON对象是否有任何特定的PHP配置?。或者我遗漏了任何标题信息我不知道为什么代码在一个主机中完美工作,而在另一个主机上却不完美

这是我的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);
?>

您可能需要在php:中指定content.type

header('Content-Type: application/json');
  • 您应该使用带有application/json标头的输出缓冲区,而不是仅回显json_encode()输出。

  • 当你使用MySQL时,有些服务器往往会出错,请检查配置。并且不要使用mysql_*函数,而是使用PDO或至少使用mysqli。

  • 你应该检查你的代码中可能的错误,检查你的连接,查询结果等,然后你可以生成一个JSON来给出输出。

  • 确保服务器的error_reporting设置为0。有时,服务器会打印出警告、通知和错误消息,从而扰乱您的输出。

您可以使用Google Chrome的PostMan扩展来查看您的web服务的结果。它还以json解析的形式显示输出。