<?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 数据是:
{"EventTitle":"Game","EventBody":"body","EventDate":"20 November, 2016","EventType":"party"}
将 json 数据写入变量并将其传递给 json_decode 是可行的,但从“php://input”发布相同数据会返回 JSON 数据而不是关联数组。
最佳答案
看起来@tkausl 是正确的。您收到的 JSON 已经过双重编码。由于它是双重编码的,因此临时解决方案是对其进行双重解码。
$data = json_decode(json_decode($json), true);
但真正的解决方案是弄清楚为什么会这样开始并修复它(如果由您来修复)。
关于php - json_decode 返回 json 字符串而不是数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40728447/