JSON-Objekt von URL in PHP abrufen

Subodh Poudel 29 November 2021
  1. Verwenden Sie die Funktion file_get_contents(), um das JSON-Objekt von der URL in PHP abzurufen
  2. Verwendung von curl zum Abrufen von JSON-Objekten aus einer URL in PHP
JSON-Objekt von URL in PHP abrufen

In diesem Tutorial wird erläutert, wie Sie das JSON-Objekt von einer URL in PHP abrufen.

Verwenden Sie die Funktion file_get_contents(), um das JSON-Objekt von der URL in PHP abzurufen

Wir können file_get_contents() zusammen mit json_decode() verwenden, um das JSON-Objekt von einer URL zu erhalten. Die Funktion file_get_contents() liest die Datei im String-Format. Wir sollten den Pfad zur Datei in der Funktion angeben oder wir können sogar die URL in der Funktion als ersten Parameter angeben. Wir sollten allow_url_fopen aktivieren, um die Funktion file_get_contents() zu verwenden. Wir können es aktivieren, indem wir phpini_set("allow_url_fopen", 1) in der Datei php.ini setzen. Die Funktion json_decode() wandelt das JSON-Objekt in ein PHP-Objekt um. Somit können wir auf die Objekte in der JSON-URL als PHP-Objekte zugreifen.

Für die Demonstration verwenden wir eine Dummy-JSON-URL von jsonplaceholder. Erstellen Sie eine Variable $url und speichern Sie die URL darin. Verwenden Sie die URL https://jsonplaceholder.typicode.com/posts/1. Die JSON-Objekte der URL werden unten angezeigt. Als nächstes erstellen Sie eine Variable $json und verwenden die $url als Argument für die Funktion file_get_contents(). Verwenden Sie nun die Funktion json_decode(), um den JSON-String in ein PHP-Objekt zu dekodieren. Speichern Sie das Objekt in der Variablen $jo. Greifen Sie zuletzt mit $jo auf das Objekt title zu und drucken Sie es aus.

Daher haben wir eine URL mit einem JSON-Objekt aus dem Web aufgerufen und in PHP konvertiert. Auf diese Weise können wir JSON-Objekte von einer URL in PHP abrufen.

Beispielcode:

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

Ausgabe:

sunt aut facere repellat provident occaecati excepturi optio reprehenderit

Verwendung von curl zum Abrufen von JSON-Objekten aus einer URL in PHP

curl ist ein Kommandozeilen-Tool, das zum Senden und Empfangen von Daten und Dateien verwendet wird. Es verwendet unterstützte Protokolle wie HTTP, HTTPS, FTP usw. und sendet Daten von oder an einen Server. In PHP gibt es eine curl-Bibliothek, mit der wir eine HTTP-Anfrage stellen können. Wir können curl verwenden, um Dateiinhalte aus dem Web zu lesen. Es gibt verschiedene curl-Funktionen in PHP, die uns das Senden und Empfangen von Daten erleichtern. Wir können sie verwenden, um JSON-Objekte von einer URL abzurufen. Die Funktion curl_init() initiiert den Curl. Wir können die Funktion curl_setopt() verwenden, um verschiedene Optionen wie die Rückgabe von Transfers und das Setzen von URLs festzulegen. Die Funktion curl_exec() führt die Operation aus und curl_close() schließt den curl.

Wir können dieselbe URL wie in der ersten Methode verwenden, um die Verwendung von curl zu demonstrieren. Erstellen Sie eine Variable $curl und initiieren Sie die Locke mit der Funktion curl_init(). Setzen Sie die Option CURLOPT_RETURNTRANSFER mit der Funktion curl_setopt() auf true. Als nächstes legen Sie die URL mit der Option CURLOPT_URL fest. Führen Sie die Funktion curl mit curl_exec() mit $curl im Parameter aus und speichern Sie sie in der Variablen $res. Verwenden Sie die Funktion curl_close(), um die Variable $curl zu schließen. Als nächstes verwenden Sie die Funktion json_decode(), um das JSON-Objekt in ein PHP-Objekt zu ändern und das title-Objekt anzuzeigen.

So können wir mit curl das JSON-Objekt von einer URL holen.

Beispielcode:

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

Ausgabe:

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

Verwandter Artikel - JSON Object