json_decode返回json字符串而不是数组

时间:2016-11-21 20:07:33

标签: php json ajax

<?php

$json=file_get_contents('php://input',true);
$data = json_decode($json, true);

print_r($data);
?>

给出的输出是{"EventTitle":"Game","EventBody":"body","EventDate":"20 November, 2016","EventType":"party"}

Json Data发布的是:

 {"EventTitle":"Game","EventBody":"body","EventDate":"20 November, 2016","EventType":"party"}

将json数据写入变量并将其传递给json_decode,但是从&#34; php:// input&#34;返回JSON数据而不是关联数组。

1 个答案:

答案 0 :(得分:2)

看起来@tkausl是正确的。您接收的JSON已经过双重编码。由于它是双重编码的,因此临时解决方案是对其进行双重解码。

$data = json_decode(json_decode($json), true);

但真正的解决方案是弄清楚为什么它开始并修复它(如果它是你的修复)。