我试图从curl响应中获取access_token值。 [0]
的键值会像{"access_token":"430f8a7d4f721a9e51e3558689ff28ec592923d2","expires_in":3600,"token_type":"Bearer","scope":null}
那样呈现出来。
但是,我只需要嵌套在access_token
内的值,即430f8a7d4f721a9e51e3558689ff28ec592923d2
。
使用以下方式呈现输出:
$cmd="curl -u testuser:123456 http://localhost/oauth2/server/token.php -d 'grant_type=client_credentials'";
exec($cmd,$result);
echo '<pre>'; print_r($result[0]); echo '</pre>';
怎么可能这样做?
不过,这些都不是敏感数据。我只是在试验oauth2。答案 0 :(得分:0)
在结果上使用 json_decode 功能。
<?php
$json = '{"access_token":"430f8a7d4f721a9e51e3558689ff28ec592923d2","expires_in":3600,"token_type":"Bearer","scope":null}';
// Decode the JSON into an object
$decodedJson = json_decode($json);
$accessToken = $decodedJson->access_token;
var_dump($decodedJson,$accessToken);
// Decode the JSON into an array (note the true on the decode)
$decodedJson = json_decode($json,true);
$accessToken = $decodedJson['access_token'];
var_dump($decodedJson,$accessToken);
答案 1 :(得分:0)
编码json结果,找到子集。
$json = $result[0];
$json = json_decode($json, true);
echo $json['access_token'];