Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

527
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

0

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

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda