php - 从 API 获取信息的问题
问题描述
我实际上是在使用 API 从组织中获取一些结果。但有些事情我实际上无法处理,jere 是我的代码:
$responseTournoi = json_decode($resp);
$natures = $responseTournoi->hits;
这为我提供了我想要的信息,但是在这些信息中,我们有一个名为“naturesEpreuves”的案例,并且无法获得它,当我对其进行 var_dump 时,它告诉我这是一个数组,所以我尝试了很多方法来获得它,但不确定如何正确执行,这是我尝试过的错误:
$natures->naturesEpreuves[0]
Trying to get property 'naturesEpreuves' of non-object
$natures['naturesEpreuves'][0]
Undefined index: naturesEpreuves
在我的 API 中,我得到了这些信息:
naturesEpreuves
0
code DM
libelle Double Messieurs
sexe H
valide True
所以这里是 API 调用:
$url_tournoi = "https://api-dev.fft.fr/fft-qlf/v3/competition/tournois";
$curl_tournoi = curl_init();
$dataJSON = json_encode(array(
"typePratique" => array("PADEL"),
"from" => 0,
"size" => 1,
"dateDebut" => "2020-09-01T00:00:00.000",
"dateFin" => "2021-12-31T00:00:00.000",
"type" => array("P"),
));
curl_setopt_array($curl_tournoi, array(
CURLOPT_URL => $url_tournoi,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $dataJSON,
CURLOPT_HTTPHEADER => array(
"content-type: application/json",
"Authorization: Bearer $token",
),
));
$resp = curl_exec($curl_tournoi);
$responseTournoi = json_decode($resp);
$natures = $responseTournoi->hits;
这里是 var_dump:
array (size=1)
0 =>
object(stdClass)[4]
public 'inscriptionEnLigneEnCours' => boolean false
public 'avecResultatPublie' => boolean false
public 'code' => string '202157750513004' (length=15)
public 'nombreDeCourtExterieur' => int 2
public 'niveauHierarchique' => string 'C' (length=1)
public 'millesime' => int 2021
public 'libelle' => string 'TEST 10/06' (length=10)
public 'codeComite' => string '5775' (length=4)
public 'installations' =>
array (size=0)
empty
public 'type' => string 'P' (length=1)
public 'reductionEpreuveSupplementaireJeune' => int 0
public 'naturesTerrains' =>
array (size=0)
empty
public 'adresse1Engagement' => string 'Centre National d'Entrainement' (length=30)
public 'reductionEpreuveSupplementaireAdulte' => int 0
public 'nomComite' => string 'PARIS' (length=5)
public 'naturesEpreuves' =>
array (size=1)
0 =>
object(stdClass)[5]
...
因此,如果您有任何解决方案,我将很乐意讨论!非常感谢 !
解决方案
你应该像这样得到这个字段:
$natures->naturesEpreuves;
它是对象内部的属性。
如果它不起作用,请检查是什么$natures
var_dump($natures)
编辑 :
根据你的 var_dump 输出,假设这是$natures
你应该尝试做的输出:
var_dump($natures[0]->naturesEpreuves);
因为,如您所见,对象位于数组内部:
array (size=1)
0 =>
object(stdClass)[4]
...
推荐阅读
- c# - 具有多个泛型类型参数的抽象类中的链式继承
- r - ggplot PDF 导入 Inkscape 使用 alpha 时为 geom_point 点添加额外的空心圆
- node.js - 无法连接到mongodb集群
- amazon-web-services - GetObject 操作上的 AWS S3“拒绝访问”(使用 AES-256 服务器端加密)
- c# - 访问路径被拒绝。在c#中
- python - 基于最左索引将相关数学运算应用于多索引数据帧中的列
- frontend - 在角度 8 中使用 plotly.js 时如何修复“TypeError:这是未定义的”?
- sql - Find count of occurrence of a row
- c++ - C++:push_back() 函数不附加双值:分段核心转储
- python-3.x - 打印单引号的数据框字典