我需要帮助......
如何以这种格式解析数据: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 [rank] => 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>";
}
}
我记得这不是最好的方法..我是否需要创建对象(如何?)所以我可以调用&#34; name&#34;价值直接或其他东西......
编辑:
我找到了解决我的问题的方法来访问值。我还能够将这些值放到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>
也许有人会为自己的问题找到一些有用的东西&#34;问题&#34;。
我现在缺少的是下拉列表中的选择与旁边显示正确值之间的关系,基于该选择。
答案 0 :(得分:0)
对于您的情况,您将需要此代码。我更改了变量名称以便更自我解释。
$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
迭代它。
答案 1 :(得分:0)
嘿,请使用下面的代码。
import React, { Component, Fragment, useState } from "react";
import ReactDOM from "react-dom";
import { Navbar, Nav, NavDropdown } from "react-bootstrap";
const Header = props => {
const [show, setShow] = useState(false);
return (
<Navbar>
<NavDropdown
title="Dropdown Menu"
show={show}
onMouseEnter={() => setShow(true)}
onMouseLeave={() => setShow(false)}
>
<NavDropdown.Item href="#action/3.1">Option 1</NavDropdown.Item>
<NavDropdown.Item href="#action/3.1">Option 2</NavDropdown.Item>
</NavDropdown>
</Navbar>
);
};
function App() {
return <Header />;
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);