Como usar cURL para obter dados JSON e decodificar dados JSON em PHP

Neste artigo, vamos introduzir métodos para utilizar cURL para obter dados JSON e decodificar dados JSON em PHP.

  • Utilizando as funções cURL

Utilize cURL Funções para utilizar cURL para obter dados JSON e decodificar dados JSON em PHP

Existem diferentes funções de cURL que são utilizadas coletivamente para obter dados de JSON e decodificar dados JSON. Estas são curl_init(), curl_setopt(), curl_exec() e curl_close(). Os detalhes destas funções são os seguintes

A função curl_init() é utilizada para inicializar uma nova sessão para utilizar as funções cURL. A sintaxe correta para utilizar esta função é a seguinte

curl_init($url);

Os parâmetros $url é um parâmetro opcional. Se for fornecido, seu valor é definido como CURLOPT_URL. Caso contrário, podemos defini-lo mais tarde. No caso de sucesso, esta função retorna um comando cURL.

A função curl_setopt() é utilizada para definir uma opção para o processo cURL. A sintaxe correta para utilizar esta função é a seguinte

curl_setopt($handle, $option, $value);

O primeiro parâmetro é a alavanca devolvida pela função curl_init(). O segundo parâmetro é a opção para o processo cURL. O terceiro parâmetro é o valor da opção selecionada. Você pode verificar as opções aqui.

A função curl_exec() executa a sessão cURL. Ela retorna verdadeiro sobre o sucesso e falso sobre o fracasso. A sintaxe correta para utilizar esta função é a seguinte.

curl_exec($handle);

Ela tem apenas um parâmetro $handle que é a alavanca retornada pela função curl_init().

A função curl_close() encerra a sessão iniciada pela função curl_init(). A sintaxe correta para utilizar esta função é a seguinte

curl_close($handle);

Ele aceita apenas um parâmetro $handle que é o cabo devolvido pela função curl_init().

Agora vamos utilizar estas funções para obter dados JSON e decodificar os dados JSON.

//  Initiate curl session
$handle = curl_init();
// Will return the response, if false it prints the response
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
// Set the url
curl_setopt($handle, CURLOPT_URL,$YourUrl);
// Execute the session and store the contents in $result
$result=curl_exec($handle);
// Closing the session
curl_close($handle);

Agora usaremos a função file_get_contents() para obter os dados JSON da URL e a função json_decode() para converter a string JSON em um array.

$result = file_get_contents($url);
$array = json_decode($result, true);
var_dump($array);

A função var_dump() irá exibir os dados JSON na forma de um array.

Artigo relacionado - PHP JSON