在下列情况下,为什么JSON数据没有转换为数组?

时间:2015-08-26 10:34:43

标签: php arrays json

以下是我的代码:

$json_body = $application->request->getBody();
    /*echo "JSON Body : ".$json_body; 
    die;
prints following data :
JSON Body : 
{  “current_user_id”:901
   "user_id":990
}
*/

$request_data = json_decode($json_body, true); // Parse the JSON data to convert that into an assoc. array
print_r($request_data); die;//This statement prints nothing

我没理解为什么在执行语句$request_data = json_decode($json_body, true);

后数组没有打印出来

请有人帮助我。

2 个答案:

答案 0 :(得分:1)

看起来$application->request->getBody();方法返回了无效的JSON字符串

{  “current_user_id”:901
   "user_id":990
}

它在901值之后缺少逗号(,),应该是这样的:

{
    "current_user_id":901,
    "user_id":990
}

另外,我不确定它是否相关,但“current_user_id”上使用的引号可能不受支持: "

不同

答案 1 :(得分:1)

您的JSON字符串无效。缺少逗号,不等于"

有效的JSON:

{
  "current_user_id": 901,
  "user_id": 990
}