0
我想下面的代码来接收JSON。但是解码不会给出结果。它适用于具有转义斜线的相同字符串的副本。PHP json_decode不起作用
<?php
$input = file_get_contents('php://input');
logToFile("post.txt",$input);
#Output: {"id":"id1","model":"model1","version":"v1","software":["s1","s2","s3"]}
$data = json_decode($input,true);
logToFile("post.txt",$data['version']);
#Output:Empty result
### Works
$data1 = json_decode("{\"id\":\"id1\",\"model\":\"model1\",\"version\":\"v1\",\"software\":[\"s1\",\"s2\",\"s3\"]}",true);
logToFile("post.txt",$data1['version']);
#Output:v1
function logToFile($filename,$msg)
{
$fd=fopen($filename,"a");
$str="[".date("Y/m/d h:i:s")."]".$msg;
fwrite($fd,$str."\n");
fclose($fd);
}
?>
我使用PHP 5.4。所以这在魔术引号中不是问题。任何帮助?
什么是'var_dump($ data)'? – kevinamadeus
'$ input'是什么? –
尝试在json_decode之后调用'echo json_last_error_msg()'。 – Orangepill