4 回答
TA贡献1851条经验 获得超3个赞
您可以通过以下方式解码/解析 JSON 响应:
目的
PHP 关联数组
对于第二个选项,true使用json_decode()
即您可以使用以下内容:
<?php
const NL = PHP_EOL;
$json = '{
"access_token": "ya29.Il-4B1111",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "1//09uJO5Lo7CFhyCg3333",
"scope": "https://www.googleapis.com/auth/fitness.activity.read https://www.googleapis.com/auth/fitness.location.read"
}';
// object
$jsonObj = json_decode($json);
echo $jsonObj->access_token;
echo NL;
echo $jsonObj->refresh_token;
echo NL;
echo $jsonObj->expires_in;
echo NL;
// associative array
$jsonArr = json_decode($json, true);
echo $jsonArr['access_token'];
echo NL;
echo $jsonArr['refresh_token'];
echo NL;
echo $jsonArr['expires_in'];
TA贡献1887条经验 获得超5个赞
某些 API 以无效的 JSON 响应。出于安全原因,他们在 JSON 对象之后添加了一个布尔表达式(true 或 1)。在解析之前,您可能必须自己预先处理响应。
TA贡献1943条经验 获得超7个赞
我假设您正在为您的日志记录编码 $result。之后,您可以使用json_decode($newResult, true)
- 基本上将其转换为数组,您可以获得所需的相关值。
https://www.php.net/manual/en/function.json-decode.php
TA贡献1864条经验 获得超6个赞
$url = 'YOUR API URL GOES HERE';
$cURL = curl_init();
curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept: application/json'
));
$result = curl_exec($cURL);
curl_close($cURL);
$json = json_decode($result, true);
print_r($json);
输出
Array
(
[access_token] => ya29.Il-4B1111
[token_type] => Bearer
//....
)
现在您可以将$json变量用作数组:
echo $json['access_token'];
echo $json['token_type'];
- 4 回答
- 0 关注
- 126 浏览
添加回答
举报