Obter objeto JSON de URL em PHP

Subodh Poudel 30 janeiro 2023
  1. Use a função file_get_contents() para obter o objeto JSON do URL em PHP
  2. Use curl para obter o objeto JSON da URL em PHP
Obter objeto JSON de URL em PHP

Este tutorial apresenta como obter o objeto JSON de uma URL em PHP.

Use a função file_get_contents() para obter o objeto JSON do URL em PHP

Podemos usar file_get_contents() junto com json_decode() para obter o objeto JSON de um URL. A função file_get_contents() lê o arquivo em um formato de string. Devemos especificar o caminho para o arquivo na função ou podemos até dar a URL na função como o primeiro parâmetro. Devemos habilitar allow_url_fopen para usar a função file_get_contents(). Podemos habilitá-lo definindo phpini_set("allow_url_fopen", 1) no arquivo php.ini. A função json_decode() converte o objeto JSON em objeto PHP. Assim, podemos acessar os objetos em URL JSON como objetos PHP.

Para a demonstração, usaremos um URL JSON fictício de jsonplaceholder. Crie uma variável $url e armazene o URL nela. Use o URL https://jsonplaceholder.typicode.com/posts/1. Os objetos JSON da URL são mostrados abaixo. Em seguida, crie uma variável $json e use o $url como um argumento para a função file_get_contents(). Agora, use a função json_decode() para decodificar a string JSON para o objeto PHP. Armazene o objeto na variável $jo. Por último, acesse o objeto title com $jo e imprima-o.

Assim, acessamos uma URL contendo um objeto JSON da web e o convertemos em PHP. Dessa forma, podemos obter objetos JSON de uma URL em PHP.

Código de exemplo:

{
 "userId": 1,
 "id": 1,
 "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
 "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}
<?php
$url = 'https://jsonplaceholder.typicode.com/posts/1';
$json = file_get_contents($url);
$jo = json_decode($json);
echo $jo->title;
?>

Resultado:

sunt aut facere repellat provident occaecati excepturi optio reprehenderit

Use curl para obter o objeto JSON da URL em PHP

curl é uma ferramenta de linha de comando usada para enviar e receber dados e arquivos. Ele usa protocolos compatíveis, como HTTP, HTTPS, FTP, etc., e envia dados de ou para um servidor. No PHP, existe uma biblioteca curl que nos permite fazer uma solicitação HTTP. Podemos usar curl para ler o conteúdo do arquivo da web. Existem várias funções curl no PHP que nos facilitam enviar e receber dados. Podemos usá-los para obter objetos JSON de uma URL. A função curl_init() inicia o curl. Podemos usar a função curl_setopt() para definir várias opções, como retornar a transferência e definir URLs. A função curl_exec() executa a operação e curl_close() fecha o curl.

Podemos usar a mesma URL do primeiro método para demonstrar o uso de curl. Crie uma variável $curl e inicie o curl com a função curl_init(). Defina a opção CURLOPT_RETURNTRANSFER como true usando a função curl_setopt(). A seguir, defina o URL usando a opção CURLOPT_URL. Execute o curl com a função curl_exec() com $curl no parâmetro e armazene-o na variável $res. Use a função curl_close() para fechar a variável curl. Em seguida, use a função json_decode() para alterar o objeto JSON para objeto PHP e exibir o objeto title.

Assim, podemos obter o objeto JSON de uma URL usando curl.

Código de exemplo:

<?php
 $curl= curl_init();
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($curl, CURLOPT_URL, 'https://jsonplaceholder.typicode.com/posts/1';
 $res = curl_exec($curl);
 curl_close($curl);
 $jo = json_decode($res);
 echo $jo->title; ?>

Resultado:

sunt aut facere repellat provident occaecati excepturi optio reprehenderit
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Artigo relacionado - JSON Object