Lerne Coding
JSON mittels PHP auslesen und erstellen
31.12.2020

In PHP mit JSON-Dateien arbeiten

Inhaltsverzeichnis
[[TABLE OF CONTENTS]]
access_timeGeschätzte Lesezeit ca. Minuten

Für die Datenübertragung und -speicherung im Web, oder als Datei auf dem Server, wird gerne JSON verwendet. JSON ist eine Möglichkeit, verschiedene Werte in einem Text zu speichern oder zu übertragen, welche später wieder eingelesen und geparst werden, sodass auf die verschiedenen Werte wieder zugegriffen werden kann. Da sehr viele Sprachen direkt einen JSON-parser mitbringen, welcher die JSON-Datenstrings ent- und verpacken kann, ist die Benutzung recht einfach. In diesem Beispiel möchte ich dir zeigen, wie das in PHP funktioniert. Falls du wissen möchtest, wie man JSON-Strings in Python ent- und verpacken kann, dann lies dir doch den Artikel von Felix dazu durch.

JSON verpacken

PHP bring die Funktion json_encode() mit sich. Diese benötigt einen Array als Übergabe-Parameter. Es können aber auch noch weitere Optionen gesetzt werden, um die Ausgabe des Arrays zu manipulieren. Eine Option, die für dich interessant sein könnte, ist die Option JSON_PRETTY_PRINT. Diese formatiert JSON in einer Datei gut lesbar, damit du die Werte in einem Texteditor gut abändern kannst. Standardmäßig geschieht die Erstellung des Strings sehr speicherorientiert

$array = array();
$array['author'] = "Tim Riedl";
$array['timestamp'] = time();
$array['mag_eis'] = array(); // unnötige Deklarierung aber zur lesbarkeit
$array['mag_eis'][] = "Stracciatella";
$array['mag_eis'][] = "Keks";

echo json_encode($array, JSON_PRETTY_PRINT);

/*
Ausgabe in Konsole

{
    "author": "Tim Riedl",
    "timestamp": 1608678479,
    "mag_eis": [
        "Stracciatella",
        "Keks"
    ]
}
*/

Natürlich kannst du den Output auch in eine Datei umleiten:

$array = array();
$array['author'] = "Tim Riedl";
$array['timestamp'] = time();
$array['mag_eis'] = array(); // unnötige Deklarierung aber zur lesbarkeit
$array['mag_eis'][] = "Stracciatella";
$array['mag_eis'][] = "Keks";

file_put_contents("file.json", json_encode($array, JSON_PRETTY_PRINT));

JSON entpacken

Nachdem du nun eine Datei erstellt hast, möchtest du die Daten sicherlich irgendwann wieder einlesen. Da man damals sehr gerne XML-Dateien verwendet hat und diese Dateien Objekte verwenden, exportiert PHP JSON standardmäßig als Objekt. Um wieder einen Array zu bekommen, musst du als zweiten Parameter true angeben. Ich empfehle dir die Verwendung von Arrays, da diese viel benutzerfreundlicher sind.

$array = json_decode(file_get_contents("file.json"), true);
print_r($array);

/*
Ausgabe in Konsole

{
    "author": "Tim Riedl",
    "timestamp": 1608678479,
    "mag_eis": [
        "Stracciatella",
        "Keks"
    ]
}
*/

Fazit

JSON ist ein schlankes Format um Daten zu handhaben; und genau deswegen wird es auch so gerne verwendet. Man könnte JSON in der Datenübertragung als Standard bezeichnen. Ich verwende sehr häufig und sehr gerne JSON.

Bildquelle - Vielen Dank an die Ersteller:innen für dieses Bild
Kommentare zum Artikel

Es sind noch keine Kommentare vorhanden? Sei der/die Erste und verfasse einen Kommentar zum Artikel "JSON mittels PHP auslesen und erstellen"!

Kommentar schreiben

Vom Autor Empfohlen
close