2016-11-21 33 views
1
<?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_decode返回JSON字符串不是数组

JSON数据发布是:

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

写在可变JSON数据并将其传递到json_decode作品但发布同一从“php://输入”返回一个JSON数据而不是关联数组。

+0

var_dump($ json)'print? – tkausl

+0

是的,它打印此值 'string(107)“”{\“EventTitle \”:\“Game \”,\“EventBody \”:\“body \”,\“EventDate \”:\“11月20日,2016 \“,\”EventType \“:\”party \“}”“' –

+0

如果您将'file_get_contents('php:// input',true);'更改为'file_get_contents('php://输入');'? – bassxzero

回答

2

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

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

但是,真正的解决办法是要弄清楚为什么它是这样的开始与和修复它(如果它是你而定)。

相关问题