簡體   English   中英

JSON數據發生變化時,如何用PHP提取訪問數據?

[英]How to extract and access data from JSON with PHP when some data changes?

我試圖將一些 API 數據引入 wordpress 中的目錄。我試圖獲取的數據只是加密貨幣價格,沒有其他信息,但因為它的格式有點嵌套(?)它似乎不起作用。

{
  "bitcoin": {
    "usd": 16808.82 
  }
}

到目前為止,這是我的代碼:

<?php
$handle = curl_init();
$url = get_post_meta($entity-\>post()-\>ID, '\_drts_field_004', true);

// Set the url
curl_setopt($handle, CURLOPT_URL, $url);
// Set the result output to be a string.
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);

$output = curl_exec($handle);
         
curl_close($handle);

$data = json_decode($output);
echo $output;
var_dump($data);

結果是:

{
    "bitcoin":{
        "usd":16833.02
        }
}    
object(stdClass)#10399 (1) { 
    ["bitcoin"]=> object(stdClass)#10492 (1) { 
        ["usd"]=> float(16833.02) 
        } 
}

在這個例子中,我只是在 16833.02 之后嘗試對很多不同的硬幣進行此操作,“美元”將始終相同,但“比特幣”會在其他硬幣時發生變化。 我怎樣才能只回顯數字?

我已經嘗試了很多 echo 的變體,但無法得到它? 是否可以做類似的事情:

echo $data['bitcoin']['usd'];

但不是比特幣使用*? 什么都可以在那里?

您可以通過將 JSON 解碼為數組而不是像這樣的 object 來訪問usd

$data = json_decode($output, true);
$usd = current($data)['usd'];

暫無
暫無

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

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