【发布时间】:2018-12-15 03:03:45
【问题描述】:
我得到一个包含以下数据的 JSON 文件:
{
"Meta Data": {
"1. Information": "Daily Prices (open, high, low, close) and Volumes",
"2. Symbol": "GE",
"3. Last Refreshed": "2018-12-14 16:00:04",
"4. Output Size": "Compact",
"5. Time Zone": "US/Eastern"
},
"Time Series (Daily)": {
"2018-12-14": {
"1. open": "7.0800",
"2. high": "7.2500",
"3. low": "6.9950",
"4. close": "7.1000",
"5. volume": "128766603"
},
"2018-12-13": {
"1. open": "7.4900",
"2. high": "7.5000",
"3. low": "7.1200",
"4. close": "7.2000",
"5. volume": "207038918"
},
"2018-12-12": {
"1. open": "6.8400",
"2. high": "7.0250",
"3. low": "6.7000",
"4. close": "6.7100",
"5. volume": "105819951"
},
"2018-12-11": {
"1. open": "7.0400",
"2. high": "7.1300",
"3. low": "6.6600",
"4. close": "6.7600",
"5. volume": "124580597"
},
"2018-12-10": {
"1. open": "6.9700",
"2. high": "7.1200",
"3. low": "6.7500",
"4. close": "6.9300",
"5. volume": "112841778"
}
我想检索 PHP 文件中的数据以显示股票开盘价、最高价、最低价、收盘价、成交量,如下表所示。
我试过了:
$stockurl="http://alphavantage.co/…";
$json = file_get_contents($stockurl);
$obj1 = json_decode($json);
$obj =$obj1->{'Time Series (Daily)'};
$date = "2018-12-14";
$dataForSingleDate = $obj->{$date};
echo $dataForSingleDate->{'1. open'}.'<br/>';
echo $dataForSingleDate->{'2. high'}.'<br/>';
echo $dataForSingleDate->{'3. low'}.'<br/>';
echo $dataForSingleDate->{'4. close'}.'<br/>';
echo $dataForSingleDate->{'5. volume'}.'<br/>';
但我需要手动添加日期,这就是问题。
【问题讨论】:
-
你有什么问题?调用
json_decode(),然后遍历数组并打印你想要的。 -
欢迎来到 Stack Overflow! StackOverflow 不是免费的编码服务。 SO希望您try to solve your own problem first。请更新您的问题以在minimal reproducible example 中显示您已经尝试过的内容。如需更多信息,请参阅How to Ask,并拨打tour :)
-
使用
json_decode($json, true)这样你就得到了一个关联数组。然后你可以做foreach ($obj1['Time Series (Daily)'] as $date => $row)