Obtener el objeto JSON de la URL en PHP

Subodh Poudel 30 enero 2023
  1. Utilice la función file_get_contents() para obtener el objeto JSON de la URL en PHP
  2. Utilice curl para obtener un objeto JSON de la URL en PHP
Obtener el objeto JSON de la URL en PHP

Este tutorial presenta cómo obtener el objeto JSON de una URL en PHP.

Utilice la función file_get_contents() para obtener el objeto JSON de la URL en PHP

Podemos usar file_get_contents() junto con json_decode() para obtener el objeto JSON de una URL. La función file_get_contents() lee el archivo en formato de cadena. Debemos especificar la ruta al archivo en la función o incluso podemos dar la URL en la función como primer parámetro. Debemos habilitar allow_url_fopen para usar la función file_get_contents(). Podemos habilitarlo configurando phpini_set("allow_url_fopen", 1) en el archivo php.ini. La función json_decode() convierte el objeto JSON en un objeto PHP. Por lo tanto, podemos acceder a los objetos en la URL JSON como objetos PHP.

Para la demostración, usaremos una URL JSON ficticia de jsonplaceholder. Cree una variable $url y almacene la URL en ella. Utilice la URL https://jsonplaceholder.typicode.com/posts/1. Los objetos JSON de la URL se muestran a continuación. A continuación, cree una variable $json y utilice $url como argumento para la función file_get_contents(). Ahora, use la función json_decode() para decodificar una cadena JSON en un objeto PHP. Almacene el objeto en la variable $jo. Por último, acceda al objeto title con $jo e imprímalo.

Por lo tanto, accedimos a una URL que contenía un objeto JSON desde la web y lo convertimos a PHP. De esta forma, podemos obtener objetos JSON de una URL en PHP.

Código de ejemplo:

{
 "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;
?>

Producción :

sunt aut facere repellat provident occaecati excepturi optio reprehenderit

Utilice curl para obtener un objeto JSON de la URL en PHP

curl es una herramienta de línea de comandos que se utiliza para enviar y recibir datos y archivos. Utiliza protocolos compatibles como HTTP, HTTPS, FTP, etc. y envía datos desde o hacia un servidor. En PHP, hay una biblioteca curl que nos permite realizar una solicitud HTTP. Podemos usar curl para leer el contenido del archivo desde la web. Hay varias funciones curl en PHP que nos facilitan enviar y recibir datos. Podemos usarlos para obtener objetos JSON de una URL. La función curl_init() inicia el curl. Podemos usar la función curl_setopt() para configurar varias opciones como devolver la transferencia y configurar las URL. La función curl_exec() ejecuta la operación y curl_close() cierra el rizo.

Podemos utilizar la misma URL que en el primer método para demostrar el uso de curl. Cree una variable $curl e inicie el curl con la función curl_init(). Configure la opción CURLOPT_RETURNTRANSFER como verdadera usando la función curl_setopt(). A continuación, configure la URL con la opción CURLOPT_URL. Ejecute el curl con la función curl_exec() con $curl en el parámetro y guárdelo en la variable $res. Utilice la función curl_close() para cerrar la variable $curl. A continuación, utilice la función json_decode() para cambiar el objeto JSON a un objeto PHP y mostrar el objeto title.

Por lo tanto, podemos obtener el objeto JSON de una URL usando curl.

Código de ejemplo:

<?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; ?>

Producción :

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

Artículo relacionado - JSON Object