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


How to extract the JSON encoded POST parameters in PHP

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

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

我已经传递了JSON编码的参数如下:

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

在这里,我的代码运行得非常好。然而,我想把所有的参数都放在一个对象中,这样我们就可以有效地存储它们,因为否则会有太多的if和else来获取每个参数。因此,我对参数进行了如下编码:

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

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

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

您应该按如下方式传递json对象:

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

或者如果你有一系列设备

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