在 PHP 中解码来自 Strava API 的 JSON 数据

Decoding JSON Data from Strava API in PHP

本文关键字:API JSON 数据 Strava PHP 解码      更新时间:2023-09-26

嗨,我已经连接到 STRAVA API,我收到了 JSON 格式的响应,从该响应中我只需要获取一些用户配置文件详细信息。从下面的JSON数据中,我需要检索用户名,城市,国家等。

我如何使用PHP或Javascript来实现这一点?以下是我从 API 获得的示例响应

Array ( [0] => stdClass Object ( [athlete] => stdClass Object ( [id] => 8022511 [username] => adamjones [resource_state] => 2 [firstname] => Adam [lastname] => Jones [city] => Hyderabad [state] => Telangana [country] => India [sex] => M [premium] => [created_at] => 2015-02-23T06:37:17Z [updated_at] => 2016-03-15T04:33:06Z [badge_type_id] => 0 [profile_medium] => https://graph.facebook.com/v2.1/10004102544/picture?height=256&width=256 [profile] => https://graph.facebook.com/v2.1/10004102544/picture?height=256&width=256 [friend] => [follower] => ) [description] => [distance] => 42031.71247288 [elevation_gain] => 241.8005935689 [id] => 3878028 [map] => stdClass Object ( [id] => r3878028 [summary_polyline] => gqoiByqh}Mu@EWtD~Ms@jp@bGxReGze@xWhy@zNjSxBxGwH|B|I|DfAhoBtTrlA|CjBmCs@kFtCeCrG{k@bHePhZ{f@zH}W`BofBrRkwAj[vLjCtRpJvLdHrObR|KxA|Rve@zaApOrOrFhQ|AbUwBve@lO~a@dAWTgFxAiBvf@oBxy@gRhaAqj@PcByHoVub@`QwByAgsBzcA}EpAiEgEeC^cBhA`@|Ew@xByv@~]elAz_@eNjBcbAgMe@mGxB{DcAw@oA|@EaBeBnAb@dH{BzAskAeDioBuT}DgA{AeHkC|QcAj@yDkHqkAsTqf@mWsQpFqp@cGsa@MrRh@VuDbAF [resource_state] => 2 ) [name] => My Fav [private] => [resource_state] => 2 [starred] => [sub_type] => 1 [timestamp] => 1451823069 [type] => 1 ) ) 

虽然你的示例响应不是 json,但它是数组和对象的组合。

所以要从API使用中获得usernamecitycountry可以像这样尝试

//let say your variable name is `$apiResponse`
$username = $apiResponse[0]->athlete->username;
$city = $apiResponse[0]->athlete->city;
$country = $apiResponse[0]->athlete->country;

通过回显这些进行检查:

echo "Username : $username<br>";
echo "City : $city <br>";
echo "Country : $country <br>";