我对如何在JSON数组中回显某个元素感到困惑。
在时间序列(1分钟)下,我想输出1.打开。为了给我它的实际价值。
到目前为止,我只能输出完整的数组。
另外,我正在使用wordpress。
以下是我正在使用的代码:
$request = wp_remote_get('https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&apikey=demo');
if( is_wp_error( $request ) ) {
return false; // Bail early
}
$body = wp_remote_retrieve_body( $request );
$data = json_decode($body, true);
echo $body;
答案 0 :(得分:2)
你有阵列,你只需要循环它。
//...
$data = json_decode($body, true);
foreach ($data['Time Series (1min)'] as $date => $row) {
echo $date.' => '.$row['1. open'].'<br>';
}
如果您只想要一个值,因为它不是最好的结构,日期是关键,这有点棘手。但您可以使用array_values()函数来解决此问题。
$min = array_values($data['Time Series (1min)']);
echo $min[0]['1. open']; //84.2000
答案 1 :(得分:1)
不太了解WordPress,但认为你的问题与阅读有空格的JSON键有关,你需要使用括号来达到此目的,请参阅下面的演示,使用$.getJSON
阅读你的网址提供并打印响应中的密钥1. open
$.getJSON('https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&apikey=demo').success(function(response) {
var timeline = response['Time Series (1min)'];
for (var i in timeline) {
console.log(timeline[i]["1. open"]);
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;