Obtenir un objet JSON à partir de l'URL en PHP

Subodh Poudel 30 janvier 2023
  1. Utilisez la fonction file_get_contents() pour obtenir un objet JSON à partir de l’URL en PHP
  2. Utilisez curl pour obtenir un objet JSON à partir de l’URL en PHP
Obtenir un objet JSON à partir de l'URL en PHP

Ce tutoriel présente comment obtenir l’objet JSON à partir d’une URL en PHP.

Utilisez la fonction file_get_contents() pour obtenir un objet JSON à partir de l’URL en PHP

Nous pouvons utiliser file_get_contents() avec json_decode() pour obtenir l’objet JSON à partir d’une URL. La fonction file_get_contents() lit le fichier au format chaîne. Nous devons spécifier le chemin d’accès au fichier dans la fonction ou nous pouvons même donner l’URL dans la fonction comme premier paramètre. Nous devrions activer allow_url_fopen pour utiliser la fonction file_get_contents(). Nous pouvons l’activer en définissant phpini_set("allow_url_fopen", 1) dans le fichier php.ini. La fonction json_decode() convertit l’objet JSON en objet PHP. Ainsi, nous pouvons accéder aux objets dans l’URL JSON en tant qu’objets PHP.

Pour la démonstration, nous utiliserons une URL JSON factice de jsonplaceholder. Créez une variable $url et stockez l’URL dedans. Utilisez l’URL https://jsonplaceholder.typicode.com/posts/1. Les objets JSON de l’URL sont indiqués ci-dessous. Ensuite, créez une variable $json et utilisez le $url comme argument de la fonction file_get_contents(). Maintenant, utilisez la fonction json_decode() pour décoder la chaîne JSON en objet PHP. Stockez l’objet dans la variable $jo. Enfin, accédez à l’objet title avec $jo et imprimez-le.

Ainsi, nous avons accédé à une URL contenant un objet JSON depuis le Web et l’avons converti en PHP. De cette façon, nous pouvons obtenir des objets JSON à partir d’une URL en PHP.

Exemple de code :

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

Production:

sunt aut facere repellat provident occaecati excepturi optio reprehenderit

Utilisez curl pour obtenir un objet JSON à partir de l’URL en PHP

curl est un outil en ligne de commande utilisé pour envoyer et recevoir des données et des fichiers. Il utilise des protocoles pris en charge tels que HTTP, HTTPS, FTP, etc., et envoie des données depuis ou vers un serveur. En PHP, il existe une bibliothèque curl qui nous permet de faire une requête HTTP. Nous pouvons utiliser curl pour lire le contenu des fichiers sur le Web. Il existe diverses fonctions curl en PHP qui nous facilitent l’envoi et la réception de données. Nous pouvons les utiliser pour obtenir des objets JSON à partir d’une URL. La fonction curl_init() lance le curl. Nous pouvons utiliser la fonction curl_setopt() pour définir plusieurs options telles que le renvoi du transfert et la définition des URL. La fonction curl_exec() exécute l’opération et curl_close() ferme le curl.

Nous pouvons utiliser la même URL que dans la première méthode pour démontrer l’utilisation de curl. Créez une variable $curl et lancez le curl avec la fonction curl_init(). Activez l’option CURLOPT_RETURNTRANSFER à l’aide de la fonction curl_setopt(). Ensuite, définissez l’URL à l’aide de l’option CURLOPT_URL. Exécutez le curl avec la fonction curl_exec() avec $curl dans le paramètre et stockez-le dans la variable $res. Utilisez la fonction curl_close() pour fermer la variable $curl. Ensuite, utilisez la fonction json_decode() pour changer l’objet JSON en objet PHP et afficher l’objet title.

Ainsi, on peut récupérer l’objet JSON à partir d’une URL en utilisant curl.

Exemple de code :

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

Production:

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

Article connexe - JSON Object