JSON-Objekte parsen, serialisieren, speichern und verschlüsseln und Daten als JSON-String extrahieren

How-to: JSON in PHP nutzen
Kommentare

Die JavaScript Object Notation, kurz JSON, ist eine Object String Notation, definiert als Subset der JavaScript-Syntax und dient hauptsächlich dazu Datenformate auszutauschen. Wie der Name schon sagt, wurde es ursprünglich für JavaScript entwickelt, kann aber inzwischen auch von vielen anderen Sprachen verwendet werden, da JSON-Daten ein plattformunabhängiges Datenformat haben. JSON unterstützt Datentypen wie Numbers, Strings, Boolean, Array Data und Objekte.

In einem Tutorial zeigt Octavia Andreea Anghel Schritt für Schritt, wie man die JSON Extension in PHP nutzen kann.

Ein JSON-Objekt in PHP erstellen und parsen

Im vorliegenden Besipiel von Octavia Andreea Anghel liegt PHP 5.2.0 zugrunde, in dem die JSON Extension default ist. Wir haben nützliche Funktionen zur Verfügung um die JSON-Daten zu konvertieren und zu parsen: json_encode() and json_decode().

  • json_encode() Gibt die JSON-Repräsentation eines Values zurück
  • json_decode() Konvertiert einen JSON-kodierten String in eine PHP Variable

Zunächst wird das JSON-Datenformat unter Verwendnung eines PHP Array und der json_encode()-Methode erstellt. Danach werden die Daten in PHP unter der Verwendung von json_decode() dekodiert. Anschließend werden PHP-Objekte kodiert und dann wieder sowohl als Objekte dekodiert unter Verwendnung der json_decode($result)-Funktion als auch als Array indem das True-Argument gesetzt wird (json_decode($result,true)).

JSON-Objekte serialisieren

Hier liegt PHP 5.4 zugrunde, in dem das Interface JsonSerializable verfügbar ist. Indem man das Interface einsetzt, können Objekte in Sachen JSON Repräsentation angepasst werden wenn man sie mit json_encode() kodiert. Die jsonSerialize-Funktion spezifiziert Daten, die zu JSOn serialisiert werden sollen. Mittels abstract public kann der Value eines Objekts native über json_encode() serialisiert werden.

Daten in einen JSON String extrahieren

Hierfür hat Anghel zunächst eine Singleton-Klasse für die Datenbankverbindung verwendet. Dann hat er die Datenbank abgefragt und alle Objekte in einer Tabelle ausgewählt und mit der mysqli_fetch_row()-Methode jede Datenreihe des Result Set als einzelnes Array zurückgegeben, wobei die Reihen mit json_encode() gleich in JSON kodiert werden.

Darüber hinaus erklärt Octavia Andreea Anghel auch noch, wie man einen JSON String in einer Datenbank speichern und JSON-Objekte in PHP unter Verwendung von OpenSSL ver- und entschlüsseln kann.

Alle Intsruktionen inklusive Code-Schnippsel findet ihr im Artikel „Processing JSON in PHP“

 

Aufmacherbild: Mincer with fresh chopped meat von Shutterstock / Urheberrecht:vsl

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -