以各种格式处理PHP中的JSON编码参数

时间:2013-07-23 09:30:36

标签: php json post

我通过POST传递参数,参数是JSON编码的。稍后我捕获参数并在PHP文件中解码它,如下所示:

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

但问题是它只有在键是双引号时才有效:

 {
 "id": "5",
 "name": "abcd",
 "imei": "1234"
}

当键在单引号中时,如上面的代码不起作用。

{
 'id': "5",
 'name': "abcd",
 'imei': "1234"
} 

我是Json和PHP的新手。所以如果有人让我知道如何处理所有这些情况,我将非常感激。

2 个答案:

答案 0 :(得分:0)

JSON 中的所有字符串必须双引号。单引号字符串或键不是有效的JSON。理想情况下,您不应该打扰无效的JSON。这就是标准的用途,因此我们都可以使用标准化的数据格式,而不需要猜测。

答案 1 :(得分:0)

您可能会发现JSON Lint是一个有用的工具:http://jsonlint.com/

您可以将JSON文本复制/粘贴到其中,它会告诉您它是否有效,如果没有,则会更正。当我遇到一些JSON时,我总是首先使用它。