我正在编写一些简单的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;
答案 0 :(得分:2)
从它的外观来看,$ raw_json的初始值将是一个字符串。当您尝试将其作为数组访问时,您只会获得更小的字符串。当你将它传递给json_decode时,它可能会返回null。
您需要检查$ raw_json的第一个值。如果它作为名称/值对的查询字符串进入,则需要对其进行解码(使用split()或类似的东西),然后才能将其视为数组