如何从下面的json对象获取php中数据库的json值
JSON: PHP:如何从下面的json对象获取php中数据库的json值,php,json,Php,Json,JSON: PHP: 这个Json代码源于我使用过的所有运动APi,但我觉得使用这个APi并不有趣。我已经尝试了我所知道的所有方法来解决这个问题,但是所有的方法都被证明是徒劳的。如果您之前使用过api,请提供帮助,或者如果您知道我如何解决此问题,请提供帮助您基本上拥有的内容在尝试使用之前,您只需检查总计索引是否存在: $APIkey='XXXXXXX'; $leagueId = 787; $curl_options = array( CURLOPT_URL => "https:
这个Json代码源于我使用过的所有运动APi,但我觉得使用这个APi并不有趣。我已经尝试了我所知道的所有方法来解决这个问题,但是所有的方法都被证明是徒劳的。如果您之前使用过api,请提供帮助,或者如果您知道我如何解决此问题,请提供帮助您基本上拥有的内容在尝试使用之前,您只需检查
总计
索引是否存在:
$APIkey='XXXXXXX';
$leagueId = 787;
$curl_options = array(
CURLOPT_URL => "https://allsportsapi.com/api/basketball/?met=Leagues&APIkey=$APIkey&leagueId=$leagueId",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 5
);
$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );
$result = (array) json_decode($result);
var_dump($result);
$result = json_decode($result);
foreach($result as $mydata)
{ foreach($result->result as $myresult)
{
foreach($myresult->total as $total)
{
$standing_place_type = $total->standing_place_type;
}
}
}
首先,如果您对PHP比JSON符号更熟悉,请尝试
打印JSON解码的结果以查看结构是如何转换的。应该是:
$decodedJson=json\u decode($json);
印刷品($decodedJson);
//结果
stdClass对象
(
[成功]=>1
[结果]=>stdClass对象
(
[总数]=>阵列
(
[0]=>stdClass对象
...
你能看到吗?它是一个对象,有一个结果对象,有一个总体对象,有一个对象数组
现在,知道您可以访问PHP对象的公共属性,如示例中的$myObject->my_属性
,以及可以使用foreach
进行迭代的数组,您可以像这样在PHP中导航此结构:
foreach($result as $mydata) {
if(!empty($mydata->total)){
foreach($mydata->total as $total ){
echo $total->standing_place_type . PHP_EOL;
}
}
}
Obs:在您发布的JSON上,最后缺少了一个大括号。您可以验证JSON。这对我不起作用。当我显示var_转储结果时,total不是空的contents@davidlemchidove点击链接可以看到结果。也许你有不同的JSON结构?这是结构看起来像数组(2){[“success”]=>int(1)[“result”]=>array(395){[0]=>object(stdClass){[league\u key]=>string(3)“734”[“league\u name”]=>string(7)“1.Liga”请用实际的JSON作为字符串编辑问题,我将更新答案..或者您可以根据实际代码推断答案。
foreach($result as $mydata) {
if(!empty($mydata->total)){
foreach($mydata->total as $total ){
echo $total->standing_place_type . PHP_EOL;
}
}
}
// Check if the object contains the expected structure
if ($decodedJson && isset($decodedJson->result) && isset($decodedJson->result->total)) {
// Iterate over Total Array
foreach ($decodedJson->result->total as $total) {
// Print values
echo "Standing_Place: {$total->standing_place} / Standing_Place_Type: {$total->standing_place_type}." . PHP_EOL;
}
}