【发布时间】:2021-05-10 09:18:56
【问题描述】:
我从 API 收到的 JSON 字符串
{"accessTokenResponse":{"token":"562371e99fda4296a380547cb5bf9fab","token_type":"Bearer","expires_in_seconds":"77476","client_id":"LTcyMDI1NDI0OQ==","responseStatus":{"code":"100000","message":"Service operation completed successfully","messageDetails":"Access token assigned."}}}
我想提取的信息
562371e99fda4296a380547cb5bf9fab //-->The Token
我的尝试
<?php
$user = "LTcyMDI1NDI0OQ==";
$password = "MjAzMDI5MTU";
$returnFormat = "json";
$url = "https://sandbox.dhlecommerce.asia/rest/v1/OAuth/AccessToken?clientId=".$user.
"&password=".$password."&returnFormat=".$returnFormat."";
$method = "GET";
$headers = array(
"content-type: application/json",
);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => $method,
CURLOPT_HTTPHEADER => $headers,
));
$response = curl_exec($curl);
$err = curl_error($curl);
$result = json_decode($response);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $result->token;
}
?>
输出:
Warning: Undefined property: stdClass::$token in C:\xampp\htdocs\Tracking\getToken.php on line 31
我收到的 JSON 字符串格式是否错误?
为什么它说未定义的属性?感谢任何帮助。谢谢!
【问题讨论】:
-
当您对对象的结构有疑问时,最好
var_dump您的对象以获得良好的视觉表示。这将向您表明您在响应中忘记了一个级别。或者,您可以随时获取 JSON 响应并将其粘贴到在线 JSON 格式化程序中,以获得整洁的视觉结构,这应该显示相同。 -
感谢您的建议。祝你有美好的一天!