簡體   English   中英

從嵌套JSON PHP獲取價值

[英]Get value from nested json php

我正在使用下面的代碼從Webhook接收數據。

<?php
$inputJSON = file_get_contents('php://input');
$input = json_decode($inputJSON, TRUE);

$myfile = fopen("callback.txt", "a") or die("Unable to open file!");

$txt = $input["payload"]["type"];

fwrite($myfile, "\n". $txt);


fclose($myfile);
http_response_code(200);
?>

我試圖從重新調整的輸出中獲取“類型”值。 我發現在每個循環的內部使用if語句可以完成這項工作。 但是我確定這不是理想的解決方案。 有沒有更直接的方法來獲取該元素?

上面的代碼輸出一個空文本文件。

並且文檔顯示json應該采用以下格式:

{
  "action": "add",
  "collection": "broadcast",
  "payload": {
    "author": "Sveninge Bambuser",
    "created": 1474033783,
    "customData": "",
    "height": 540,
    "id": "9353eaec-794f-11e6-97c0-f19001529702",
    "ingestChannel": "cfc8626c-9a0e-ab78-6424-3eb0978d8e45",
    "lat": 63.205312,
    "length": 0,
    "lon": 17.13011,
    "positionAccuracy": 25,
    "positionType": "GPS",
    "preview": "https://archive.bambuser.com/9353eaec-794f-11e6-97c0-f19001529702.jpg",
    "resourceUri": "https://cdn.bambuser.net/broadcasts/9353eaec-794f-11e6-97c0-f19001529702?da_signature_method=HMAC-SHA256&da_id=9353eaec-794f-11e6-97c0-f19001529702&da_timestamp=1474033783&da_static=1&da_ttl=0&da_signature=eaf4c9cb29c58b910dcbad17cf7d8a3afa4e6a963624ba4c4fd0bb5bade1cdd6",
    "tags": [
      {
        "text": "whoa"
      }
    ],
    "title": "Amazing!",
    "type": "live",
    "width": 960
  },
  "eventId": "93df93061a891c23"
}

我更換:

$txt = $input["payload"]["type"];

與:

$txt = $input['payload']['type'];

它似乎是引起問題的雙引號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM