Beginner problemen met API

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nick Suykerbuyk

Nick Suykerbuyk

19/03/2018 16:02:19
Quote Anchor link
Hallo allemaal,

Ik ben een beginner op het vlak van PHP en het gebruik van API's en daarom wilde ik het toch wel eens leren. Ik ben begonnen met het leren van de werking van de Strava API, maar heb enkele problemen.

Onderstaande code werkt. Ik gebruik het echo statement om de link te testen, en ik krijg als antwoord 'Array' dus dat klopt. Ik kan ook values uit deze JSON halen.

$membersFile = file_get_contents('https://www.strava.com/api/v3/clubs/beearunner/members?access_token=XXXXXX&per_page=200');
$JSONObj = json_decode($membersFile);
echo $JSONObj;

Echter, onderstaande code werkt niet. De echo geeft niets als return. Er is nochtans niets veranderd, behalve de link. Maar die werkt wel als ik 'm gewoon in chrome open. Daarom denk ik dat het probleem is, de manier waarop de JSON is opgebouwd? Ik kan er niet goed aan uit.

$membersFileTwo = file_get_contents('https://www.strava.com/api/v3/athletes/3805089/stats?access_token=XXXXXX&per_page=200');
$JSONObjTwo = json_decode($membersFileTwo);
echo $JSONObjTwo;

De eerste link geeft een JSON-structuur weer met haakjes:
[{...}]
De tweede link gebruikt echter de vierkante haakjes niet;
{...}

Zou dat misschien het probleem kunnen zijn?
Als iemand mij zou kunnen helpen zou dat geweldig zijn.

Met vriendelijke groeten,
Nick Suy
 
PHP hulp

PHP hulp

29/11/2024 17:48:25
 
- Ariën  -
Beheerder

- Ariën -

19/03/2018 16:09:35
Quote Anchor link
Je kan ook niet direct een array zomaar echo'en. Lees ze eens ter debugging uit met print_r().
Gewijzigd op 19/03/2018 16:09:51 door - Ariën -
 
Nick Suykerbuyk

Nick Suykerbuyk

19/03/2018 16:16:17
Quote Anchor link
Hallo Ariën,

Alvast bedankt voor de snelle reactie.
Als ik beide links uitlees met print_r() krijg ik telkens inderdaad de volledige JSON gegevens te zien.
 
Thomas van den Heuvel

Thomas van den Heuvel

19/03/2018 16:25:41
Quote Anchor link
In een van de gevallen wordt een mengvorm van objecten en arrays geretourneerd, in het andere een object. Om ervoor te zorgen dat er altijd een (genest) array wordt teruggegeven dien je de tweede parameter van json_decode() op true te zetten (default false). Dit zorgt ervoor dat een (potentieel) (genest) object altijd wordt omgezet naar een (genest) associatief array. Zie ook de documentatie.
Gewijzigd op 19/03/2018 16:26:34 door Thomas van den Heuvel
 
Nick Suykerbuyk

Nick Suykerbuyk

19/03/2018 16:33:18
Quote Anchor link
Hallo Thomas,

Je hebt helemaal gelijk en ik had geen idee dat het zo moest. Bedankt! Ik heb twee keer de parameter 'true' toegevoegd en nu krijg ik telkens een Array.

Ik veronderstel dat de gegevens nu wel wat anders genest worden, aangezien mijn originele code niet meer werkt? Dit zoek ik dan wel uit.

Bedankt voor de hulp!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.