Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

528
Vistas
Having trouble retrieving JSON with curl to parse in php

I'm attempting too fetch and parse JSON in PHP via curl. I am unable to parse the response, and see it dumping to my screen instead. Here is sample code.

<?php

$url = 'XXXXXXXXXXXXXXXXXXXXX';

$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);

curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
'X-Mashape-Key: XXXXXXXXXXXXXXXXXXXXXXXXX',
'Accept: application/json'
));

$result = curl_exec($cURL); ## this seems to be the line printing the response?

curl_close($cURL);

echo "<br />--------------------------------------------------------<br />";

var_dump($cURL);

echo "<br />--------------------------------------------------------<br />";

var_dump($result);

echo "<br />--------------------------------------------------------<br />";

$json = json_decode($result);

echo "<br />--------------------------------------------------------<br />";

print_r($json);

echo "<br />--------------------------------------------------------<br />";

echo $json->word;
echo $json->definitions[0]->definition;

echo "<br />--------------------------------------------------------<br />";

?>

And the output is:

{"word":"incredible","definitions":[{"definition":"beyond belief or understanding","partOfSpeech":"adjective"}]}
--------------------------------------------------------
resource(2) of type (Unknown) 
--------------------------------------------------------
bool(true) 
--------------------------------------------------------

--------------------------------------------------------
1
--------------------------------------------------------

--------------------------------------------------------

See how my JSON is appearing on screen before my first echo statement? Why is this happening?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

cURL doesn't return transfer but it outputs. You must not output your transfer. Add CURLOPT_RETURNTRANSFER option with true value. Also in the response JSON, definitions is not an object it's array and it will be parsed as array in php too. Also there is no attachments key in response so you can't access it.

$url = 'XXXXXXXXXXXXXXXXXXXXX';

$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);

curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
'X-Mashape-Key: XXXXXXXXXXXXXXXXXXXXXXXXX',
'Accept: application/json'
));

curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1); // add this line to catch your response with curl_exec function. 

$result = curl_exec($cURL); 

$json = json_decode($result);

print_r($json); // this will print parsed json.

echo $json->word;
echo $json->definitions[0]->definition; // Get First Entry of definitions
over 4 years ago · Santiago Trujillo Denunciar

0

Use $json = json_decode($json); and then u can use $json['word'] and so on.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda