1

I'm trying to decode a json obtening by cURL with php like this :

$url = 'https://www.toto.com/api/v1/ads/?apikey=titi&code_postal='.$code_postal.'&type_de_bois='.$type_bois; $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); var_dump(json_decode($result, true)); echo json_decode($result); 

That returns me that, something which seems to be json :

[{"id":"6918","nom":"X","code_postal":"88120","ville":"town","description":"test","logo":"test.png","url":"test","telephone":true}, [{"id":"6919","nom":"Y","code_postal":"88121","ville":"town1","description":"test","logo":"test.png","url":"test","telephone":true}, [{"id":"6920","nom":"Z","code_postal":"88122","ville":"town2","description":"test","logo":"test.png","url":"test","telephone":true}]

int(1) 1

My question are : - Why, without echo or print, the array is printed? - Why json_decode doesn't work propely or why it is only one value ("1")?

Thanks a lot for your answer.

1
  • var_dump() will display the result in array Commented Jan 5, 2017 at 19:50

2 Answers 2

7

You forgot to use the CURLOPT_RETURNTRANSFER option. So curl_exec() printed the response instead of returning it into $result, and $result just contains the value TRUE that was returned by curl_exec to indicate that it was successful. Add:

curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true); 
Sign up to request clarification or add additional context in comments.

Comments

0

It seems like the json data is encoded two times if after using once json_decode(), the result is a json string.

Please check this :

echo json_decode(json_decode($result)); 

If it won't work, could you provide the response of

echo $result; 

to see the server response non parsed by PHP.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.