【发布时间】:2019-03-01 21:09:39
【问题描述】:
我想为自己编写一个网页,显示来自公司的一些数据。 我已经找到了一个显示不同值的 API,人们可以选择。
https://financialmodelingprep.com/developer/docs#Companies-Financial-Statements
所以我开始整理我的网页并添加了一个输入。这样用户就可以选择他正在搜索的公司。
<input type="text" name="Ticker" placeholder="Ticker Symbol">
然后在文件的末尾我添加了一个 php 部分,它从 URL 中选择数据(JSON):
<?php
if(isset($_GET['Ticker']))
{
$Ticker_Name = $_GET['Ticker'];
echo '<p>Your choosen company is '. $Ticker_Name . '</p>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://financialmodelingprep.com /api/financials/income-statement/' . $Ticker_Name);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
}
?>
这会显示从 api 提供的原始信息。 但我遇到的问题是格式化/访问 API 给出的 json 数据。
我最后尝试的是:
<?php
if(isset($_GET['Ticker']))
{
$Ticker_Name = $_GET['Ticker'];
echo '<p>Your choosen company is '. $Ticker_Name . '</p>';
$url = file_get_contents('https://financialmodelingprep.com/api/financials/income-statement/' . $Ticker_Name);
//$daten = file_get_contents($url);
$json = json_decode($url, true);
echo $json->Revenue;
}
?>
收到此消息:
注意:试图获取非对象的属性“收入”
不显示任何数据。
如果有人可以帮助我,我将不胜感激,在此先感谢。
【问题讨论】:
-
file_get_contents 是否从 URL 返回任何数据?
-
您是否将
allow_url_fopen设置为true? stackoverflow.com/a/15617547/571723 -
$Ticker_Name是实际的股票代码吗? -
去掉
true到json_decode的参数。这使它返回一个关联数组,而不是一个对象。 -
或使用
$json['Revenue']。