PHP - 收到POST json的麻烦

时间:2012-11-19 03:28:55

标签: php httprequest

我正在编写一些简单的PHP来从另一个具有JSON有效负载的系统接收POST。该请求是Content-Type:application / json。

我只是试图将json转储到txt文件中作为起点,但事实并非如此。这是PHP文件,任何建议/更正都将非常感谢!

<?php
    ini_set("display_errors", "On");
    session_start();

    $raw_json = file_get_contents('php://input');
    $cooked_json = json_decode($raw_json);


    $myfile = fopen('/home/wgordon/log.txt','a');
    $fp = fwrite($myfile, $cooked_json);
    fclose($myfile);

&GT;

1 个答案:

答案 0 :(得分:2)

从它的外观来看,$ raw_json的初始值将是一个字符串。当您尝试将其作为数组访问时,您只会获得更小的字符串。当你将它传递给json_decode时,它可能会返回null。

您需要检查$ raw_json的第一个值。如果它作为名称/值对的查询字符串进入,则需要对其进行解码(使用split()或类似的东西),然后才能将其视为数组