Php 读取提供json数据的api时出现问题
我想给自己编一个网页,显示一些公司的数据。 我已经找到了一个API,它可以显示不同的值,有人可以选择 所以我开始整理我的网页并添加一个输入。这样,用户就可以选择要搜索的公司Php 读取提供json数据的api时出现问题,php,html,json,api,Php,Html,Json,Api,我想给自己编一个网页,显示一些公司的数据。 我已经找到了一个API,它可以显示不同的值,有人可以选择 所以我开始整理我的网页并添加一个输入。这样,用户就可以选择要搜索的公司 <input type="text" name="Ticker" placeholder="Ticker Symbol"> 然后在文件末尾,我添加了一个php部分,从URL中提取数据(JSON): <?php if(isset($_GET['Ticker']))
<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;
}
?>
获取此消息:
注意:尝试获取非对象的财产“收入”
没有在数据上显示任何内容
如果有人能帮助我,我将不胜感激,提前谢谢。这是因为您在json\u decode中传递了true,这意味着它返回的是关联数组而不是对象,您可以像echo$json[$Ticker\u Name]['Revenue']['2013-09']或print\r($json>一样访问它[$Ticker\u Name]['Revenue']像这样 试试这个代码 片段
发生这种情况是因为您在json\u decode中传递了true,这意味着它返回的是关联数组而不是对象,您可以像echo$json[$Ticker\u Name]['Revenue']['2013-09']或print\r($json[$Ticker\u Name]['Revenue'])这样访问它
试试这个代码
片段
谢谢您的回答,它正在工作
但是如果我试着在这个输入框附近放置另一个输入框,让用户搜索网页的值可能不再更新choosen输入。
它不再更新
输入股票代码
输入您的值
非常感谢。谢谢你的回答,它正在工作
但是如果我试着在这个输入框附近放置另一个输入框,让用户搜索网页的值可能不再更新choosen输入。
它不再更新
输入股票代码
输入您的值
非常感谢。file\u get\u内容是否从URL返回任何数据?您是否将allow\u URL\u fopen
设置为true?是否$Ticker\u Name
是实际的股票代码?去掉true
参数以json\u decode
。该参数使其返回关联数组,而不是对象。或者使用$json['Revenue']
.file\u get\u contents是否从URL返回任何数据?是否将allow\u URL\u fopen
设置为true?是否$Ticker\u Name
是一个实际的股票行情器?请去掉true
参数以json\u decode
。该参数使其返回一个关联数组,而不是一个对象。或者使用$json['Revenue']
。
<?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);
$url = str_replace('<pre>','',$url); //Removing <pre> html tag
$json = json_decode($url, true);
print_r($json[$Ticker_Name]['Revenue'];
}
?>
<label>Enter Ticker Symbol</label>
<input type="text" name="Ticker" placeholder="Ticker Symbol">
<label>Enter your Value</label>
<input type="text" name="Value" placeholder="Value">
<?php
if(isset($_GET['Ticker']))
{
$Ticker_Name = $_GET['Ticker'];
$Value = $_GET['Value'];
echo '<p>Your choosen company is '. $Ticker_Name . '</p>';
echo '<p>Your choosen value is '. $Value . '</p>';
$url = file_get_contents('https://financialmodelingprep.com/api/financials/income-statement/' . $Ticker_Name);
$url = str_replace('<pre>','',$url); //Removing <pre> html tag
$json = json_decode($url, true);
print_r($json[$Ticker_Name][$Value]);
}
?>