在 PHP 中访问 JSON 元素


Accessing JSON elements in PHP

PHP菜鸟在这里。我正在构建一个iPhone应用程序,该应用程序将JSON blob发送到Web服务器。在服务器端,我正在接收 JSON 并尝试访问对象包含的 3 个字段。

我身上发生了两件奇怪的事情,我不知道如何解决:

  1. 打印解码的对象(下面的$post_data)时,我没有得到任何东西。
  2. 实际上,在不解码的情况下打印对象时,我能够在Xcode中打印完整的对象($content下面),但不知道如何访问对象中的各种字段。

我的PHP代码:

$con = mysql_connect("127.0.0.1","root", "") or die('Could not connect: ' . mysql_error());
$content = file_get_contents('php://input');
$post_data = json_decode($content , true);
echo $content; --> prints the object properly 
echo $post_data; --> does not print anything
echo $content->lat; --> does not print anything

我的 JSON 对象:

{
  "lat" : 37.33233141,
  "long" : -122.0312186,
  "speed" : 0
}

任何帮助将不胜感激。

这是因为json_decode($content, true)返回一个数组,如果您回显容器,该数组在显示时出现问题。

尝试做echo $post_data['lat'];

您也可以尝试使用 print_r($post_data); 让它输出变量的实际内容,以便查看某些内容是否无法正常工作