【问题标题】:browse a JSON and fill PHP variables [duplicate]浏览 JSON 并填充 PHP 变量 [重复]
【发布时间】:2018-09-21 14:08:25
【问题描述】:

我在项目上工作,那里有服务器发送到我的 php 应用程序 json 数据,然后我将其放入数据库中。 我收到来自服务器的 POST 请求,我可以通过以下方式获取 json: 接收json.php:

$payload = file_get_contents('php://input');

还有JSON的形式:

{
"applicationID": "123",
"applicationName": "temperature-sensor",
"deviceName": "garden-sensor",
"devEUI": "0202020202020202",
"rxInfo": [
    {
        "gatewayID": "0303030303030303",          // ID of the receiving gateway
        "name": "rooftop-gateway",                 // name of the receiving gateway
        "time": "2016-11-25T16:24:37.295915988Z",  // time when the package was received (GPS time of gateway, only set when available)
        "rssi": -57,                               // signal strength (dBm)
        "loRaSNR": 10,                             // signal to noise ratio
        "location": {
            "latitude": 52.3740364,  // latitude of the receiving gateway
            "longitude": 4.9144401,  // longitude of the receiving gateway
            "altitude": 10.5,        // altitude of the receiving gateway
        }
    }
],
"txInfo": {
    "frequency": 868100000,  // frequency used for transmission
    "dr": 5                  // data-rate used for transmission
},
"adr": false,                  // device ADR status
"fCnt": 10,                    // frame-counter
"fPort": 5,                    // FPort
"data": "...",                 // base64 encoded payload (decrypted)
"object": {                    // decoded object (when application coded has been configured)
    "temperatureSensor": {"1": 25},
    "humiditySensor": {"1": 32}
 }
}

我是 JSON 的新用户,所以我直接将文本 JSON 放入我的数据库,如下所示:

 $payload = file_get_contents('php://input');

 $req = $bdd->prepare( '                             
                           INSERT INTO nods(payload)                               
                           VALUES (:payload);
                      ' );

$req->execute(array('payload' => $payload));

结果: 我想浏览“$payload”并将信息放入 php 变量中,例如:

$applicationID = .... ; $rxInfo[] = .... ;

我已经尝试过类似“foreach”的方法,但我无法成功,请你帮帮我,谢谢:)。

最好的尊重,

迪杜·贾瓦德

【问题讨论】:

标签: php arrays json server


【解决方案1】:

您可以使用json_decode 来获取 JSON 的 PHP 数组表示

$array = json_decode($payload, true);

var_dump($array);

http://php.net/manual/en/function.json-decode.php

【讨论】:

  • 这个问题已经回答了很多次了,不值得回答,但要近距离投票。
  • 我不相信仅仅因为它已被回答,它就值得一票否决。这是一个有效的答案。
  • 你是对的,它没有,我支持你,因为你不应该因为试图参与社区和提供帮助而受到惩罚,即使答案已经存在
  • @TommyBs 人们可以随意投票。此外,答案没有看到 JSON 不支持 cmets。
  • @TommyBs 我不是在争论,只是想引导。如果您对某事感觉强烈,那么我建议您在meta.stackoverflow.com 上开始讨论。总的来说,我猜你最终会来到这个网站是因为这里存在各种高质量的内容。如果您建议重复相同的问答数千次有助于自我保护使该网站变得出色的原因,那么让我们同意不同意。
猜你喜欢
  • 1970-01-01
  • 2013-07-04
  • 2018-05-18
  • 2021-09-30
  • 1970-01-01
  • 2011-06-10
  • 2021-09-05
  • 2013-04-04
  • 1970-01-01
相关资源
最近更新 更多