Obter objeto JSON de URL em PHP
-
Use a função
file_get_contents()
para obter o objeto JSON do URL em PHP -
Use
curl
para obter o objeto JSON da 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 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