在PHP

时间:2015-06-13 21:53:32

标签: php ios json xcode web-services

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

我发现了两件奇怪的事情,我无法弄清楚如何修复:

  1. 打印解码后的对象时,我没有得到任何回报($ post_data)。
  2. 我实际上能够在没有解码的情况下打印对象时在Xcode中打印完整的对象(下面是$ content)但是不知道如何访问对象中的各个字段。
  3. 我的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
    }
    

    非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

它是因为json_decode($content, true)正在返回一个数组,如果你回显容器就会出现问题。

尝试echo $post_data['lat'];

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