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.
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));
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"
]
}
*/
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.
Hinterlasse mir gerne einen Kommentar zum Artikel und wie er dir weitergeholfen hat beziehungsweise, was dir helfen würde das Thema besser zu verstehen. Oder hast du einen Fehler entdeckt, den ich korrigieren sollte? Schreibe mir auch dazu gerne ein Feedback!
Es sind noch keine Kommentare vorhanden? Sei der/die Erste und verfasse einen Kommentar zum Artikel "JSON mittels PHP auslesen und erstellen"!