簡體   English   中英

如何用 PHP 解析 JSON

[英]How to parse JSON with PHP

我有事需要幫助..

我如何解析這種格式的數據: https : //api.coinmarketcap.com/v1/ticker/

我嘗試在 php 中設置一個代碼

$url = 'https://api.coinmarketcap.com/v1/ticker/';
$content = file_get_contents($url);
$json = json_decode($content, true);
print_r($json);

這將列出所有這樣的值..

數組 ( [0] => 數組 ( [id] => 比特幣 [名稱] => 比特幣 [符號] => BTC [等級] => 1 [price_usd] => 2448.04 [price_btc] => 1.0 [24h_volume_usd] => 1935820000.0 [market_cap_usd] => 40128026876.0 [available_supply] => 16391900.0 [TOTAL_SUPPLY] => 16391900.0 [percent_change_1h] => 3.47 [percent_change_24h] => -11.1 [percent_change_7d] => -12.29 [LAST_UPDATED] => 1497512954)[1] = > 數組 ( [id] => ...

如何訪問某些值。 例如,如果我想顯示“名稱和符號”?

這個想法是將名稱+符號放在選擇(下拉)列表中,當用戶更改選擇時,下拉列表旁邊的文本字段會自動更改並正確顯示 market_cap_usd 值。

我能夠繼續並解析一些數據..

foreach ($json as $key => $value) { 
    foreach ($value as $valuta => $vrednost) { 
        echo "<p>$valuta | $vrednost</p>";
    }
}

我記住這不是最好的方法..我是否需要創建對象(如何?)所以我可以直接調用“名稱”值或其他東西......

編輯:

我找到了解決訪問值問題的方法。 我還能夠將這些值放到 select/dropdownmenu 元素中。

這是我的版本:

        <form>
            <label for="sel1">Select list (select one):</label>
            <select class="selectpicker" data-live-search="true">           
            <?php

            $url = 'https://api.coinmarketcap.com/v1/ticker/';
            $content = file_get_contents($url);

            $json = json_decode($content, true);

            foreach ($json as $key => $value) {
                echo "<option>" . $json[$key]['name'] ." (". $json[$key]['symbol'] .")</option>";
            }

            ?>
            </select>
        </form>

也許有人會在這里為他們自己的“問題”找到一些有用的東西。

我現在缺少的是下拉列表中的選擇和旁邊顯示正確值之間的聯系,基於該選擇。

對於您的情況,您將需要此代碼。 我更改了變量名稱以使其更易於解釋。

$url = 'https://api.coinmarketcap.com/v1/ticker/';
$content = file_get_contents($url);
$decodedData = json_decode($content, true);

foreach ($decodedData as $currency) {
    echo "<option value='" . $currency["id"] . "'>" . $currency["name"] ." (". $currency["symbol"] .")</option>";
}

json_decode作用是將 JSON 字符串轉換為 PHP 中的多維數組。 然后,您可以使用foreach對其進行迭代。

嘿使用下面的代碼。

<?PHP 
$url = 'https://api.coinmarketcap.com/v1/ticker/';
$content = file_get_contents($url);
$json = json_decode($content, true);

echo $json[0]["bitcoin"];
?>

暫無
暫無

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

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