如何在PHP中提取JSON编码的POST参数

时间:2013-07-23 10:40:37

标签: php json

我已经通过POST传递了JSON编码参数,我们已经在另一个PHP文件中捕获并解码了这些参数。我使用以下代码来做到这一点。

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

我已经传递了JSON编码参数,如下所示:

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

这里我的代码完美无缺。但是,我想将所有参数都放到一个对象中,以便我们可以有效地存储它们,否则会有太多的ifs和elses来获取每个参数。所以我编码了如下参数:

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

但它不起作用。作为JSON和PHP的新手,我不知道如何处理这种情况。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

使用json_decode($_POST['device'], true),因为您实际上将名为'device'的参数传递给了php文件。

答案 1 :(得分:0)

你应该按照以下方式传递json对象:

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

或者如果您有一系列设备

 {"device" :  [{
 "id": "5",
 "name": "abcd",
 "imei": "1234"}
]}