PHP JSON_DECODE -Funktion

PHP JSON_DECODE -Funktion
PHP verfügt über zwei integrierte Funktionen, um mit den JSON-Daten zu arbeiten. Diese sind json_encode () Und JSON_DECODE () Funktionen. Die Funktion json_encode () wird verwendet, um die JSON -Daten zu codieren, und die Funktion json_decode () wird verwendet, um die codierten JSON -Daten zu dekodieren. Diese Funktion erstellt ein PHP -Objekt aus einem JSON -Objekt. Die unterschiedlichen Verwendungen der Funktion json_decode () sind in diesem Tutorial angezeigt.

Syntax:
gemischt JSON_DECODE (String $ json, bool $ associativ = null, int $ tiefe = 512, int $ flags = 0)

Diese Funktion hat vier Argumente. Das erste Argument ist obligatorisch und die anderen Argumente sind optional. Die Zwecke dieser Argumente sind im Folgenden beschrieben:

  • $ JSON: Es enthält die dekodierten JSON-Daten und unterstützt nur die utf-8 codierte Zeichenfolge.
  • $ Associstive: Es enthält einen Booleschen Wert. Wenn der Wert dieses Arguments auf True festgelegt ist, gibt die Funktion ein assoziatives Array des JSON -Objekts zurück. Wenn der Wert dieses Arguments auf False festgelegt ist, gibt die Funktion ein Objekt zurück.
  • $ Tiefe: Es wird verwendet, um die verschachtelte Tiefe der dekodierten Struktur zu definieren. Der Wert dieses Arguments liegt zwischen 1 und 2147483647.
  • $ flag: Es enthält die Bitmaske von JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBTITET, JSON_OBJECT_AS_ARAY, JSON_THROW_ON_EERROR.

Der codierte JSON -Wert des PHP -Typs wird von dieser Funktion zurückgegeben, wenn sich die codierten Daten innerhalb der verschachtelten Tiefe befinden. Andernfalls gibt die Funktion null zurück.

Verschiedene Beispiele für die Funktion json_encode ()

Die unterschiedlichen Verwendungen der Funktion json_encode () werden in diesem Teil des Tutorials unter Verwendung mehrerer Beispiele angezeigt.

Beispiel 1: Konvertieren Sie einfache JSON -Daten in ein PHP -Array

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, das das JSON -Objekt in ein PHP -Objekt und ein PHP -Array mit der Funktion JSON_DECODE0 umwandelt. Wenn die Funktion json_decode () mit einem Argument verwendet wird, wird das JSON -Objekt in ein PHP -Objekt konvertiert. Wenn die Funktion json_decode () mit den ersten beiden Argumenten verwendet wird, wird das JSON -Objekt in ein PHP -Array konvertiert. In diesem Beispiel wird ein JSON -Objekt mit einfachen JSON -Daten von fünf Eigenschaften verwendet.

// eine einfache JSON -Zeichenfolge deklarieren
$ jSondata = '"01": "Buch", "02": "Pen", "03": "Bleistift", "04": "Rular", "05": "Papier"';
// Die JSON -Daten in ein PHP -Objekt dekodieren
Echo "Die dekodierten JSON -Daten als Objekt:
";
print_r (json_decode ($ jSondata));
// Die JSON -Daten in ein PHP -Array dekodieren
Echo "
Die dekodierten JSON -Daten als assoziatives Array:
";
print_r (json_decode ($ jSondata, true));
?>

Ausgang:

Die folgende Ausgabe erscheint nach der Ausführung des vorherigen Skripts:

Beispiel 2: Drucken Sie die Namen und Werte der JSON -Eigenschaft aus

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, das das JSON -Objekt mit der Funktion JSON_DECODE0 in ein PHP -Array umwandelt. In diesem Beispiel wird ein JSON -Objekt mit einfachen JSON -Daten von fünf Eigenschaften verwendet. Als nächstes das "für jedeDie Schleife wird verwendet, um die Schlüssel und Werte des PHP -Arrays zu lesen und zu drucken.

// eine einfache JSON -Zeichenfolge deklarieren
$ productTypes = '"T01": "HDD", "T02": "Monitor", "T03": "Maus", "T04": "Drucker", "T05": "Tastatur"';
// Die JSON -Daten in ein PHP -Array dekodieren
$ phparray = json_decode ($ productTypes, true);
Echo " ID -Produktname
";
// Drucken Sie die Elemente des assoziativen Arrays mit der Schleife aus
foreach ($ phparray als $ index => $ value)

Echo $ index."" ".$ Wert."
";

?>

Ausgang:

Die folgende Ausgabe erscheint nach der Ausführung des vorherigen Skripts:

Beispiel 3: Durchsuchen der jeweiligen JSON -Eigenschaft

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, das das JSON -Objekt in ein PHP -Array umwandelt, und der bestimmte ID -Wert wird im Array durchsucht. Wenn der Wert im Array vorhanden ist, werden die entsprechenden anderen Werte gedruckt. Hier wird der Such -ID -Wert aus dem URL -Parameter entnommen.

// deklarieren Sie ein JSON -Objekt von mehr als einer Tiefe
$ customerData = '[
"ID": "056345", "Name": "Mira Hossain", "E -Mail": "[email protected] "," contact_no ":"+8801954532367 ",
"ID": "056335", "Name": "Mohammed Abir", "E -Mail": "[email protected] "," contact_no ":"+8801858722209 ",
"ID": "056387", "Name": "Alif Chowdhury", "E -Mail": "[email protected] "," contact_no ":"+8801700785321 ",
"ID": "056391", "Name": "Nipa Roy", "E -Mail": "[email protected] "," contact_no ":"+880180006342 ",
"ID": "056395", "Name": "Anam Ali", "E -Mail": "[email protected] "," contact_no ":"+880159126543 "
] ';
// Erstellen Sie das PHP -Array der JSON -Daten
$ custArray = json_decode ($ customerData, true);
// Überprüfen Sie, ob die Such -ID in der URL angegeben ist oder nicht
if (isset ($ _ get ['src'])))

// Lesen Sie die Such -ID aus der URL aus
$ searchid = $ _get ['src'];
$ found = false;
// Drucken Sie die Kundeninformationen der jeweiligen ID, wenn im Array existiert
für ($ index = 0; $ index < count($custArray); $index++)
if ($ custArray [$ index] ["id"] == $ searchid)
Echo " Details des Kunden:
";
Echo "Name:".$ custArray [$ index] ["Name"]."
";
Echo "E -Mail:".$ custArray [$ index] ["E -Mail"]."
";
Echo "Kontaktnummer:".$ custArray [$ index] ["contact_no"]."
";
$ found = true;
brechen;


if ($ found == false)
Echo "Kunden -ID existiert nicht.";

anders
Echo "Such -ID wird nicht gegeben."
?>

Ausgang:

Nach der Ausführung des vorherigen Skripts wird die folgende Ausgabe angezeigt, wenn in der URL kein ID -Wert angegeben ist:

Die folgende Ausgabe wird nach der Ausführung des vorherigen Skripts angezeigt, wenn der in der URL angegebene ID -Wert im PHP -Array vorhanden ist, das aus dem JSON -Objekt generiert wird:

Die folgende Ausgabe wird nach der Ausführung des vorherigen Skripts angezeigt, wenn der in der URL angegebene ID -Wert nicht im PHP -Array vorhanden ist, das aus dem JSON -Objekt generiert wird:

Beispiel 4: Fehler für das falsche JSON -Objekt generieren

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, das zum Zeitpunkt der Konvertierung des JSON -Objekts in ein PHP -Objekt einen Fehler anzeigt, wenn das JSON -Objekt einen Fehler enthält. Das in diesem Beispiel verwendete JSON -Objekt enthält einen Fehler im Wert der zweiten Eigenschaft. Das doppelte Zitat (") fehlt für den Eigenschaftswert"Stift”.

// eine einfache JSON -Zeichenfolge deklarieren
$ jSondata = '"01": "Buch", "02": Pen "," 03 ":" Bleistift "," 04 ":" Rular "," 05 ":" Paper "';
// Die JSON -Daten in ein PHP -Objekt dekodieren
Echo "Die dekodierten JSON -Daten als Objekt:
";
print_r (json_decode ($ jSondata));
// Drucken Sie die Fehlerno und die Fehlermeldung, falls vorhanden
Echo "Fehlernummer: ".JSON_LAST_ERROR ()."
"."Fehlermeldung: ".JSON_LAST_ERROR_MSG ()."";
?>
?>

Ausgang:

Die folgende Ausgabe erscheint nach der Ausführung des vorherigen Skripts:

Abschluss

Die unterschiedlichen Möglichkeiten zum Parsen der JSON -Daten mithilfe der Funktion JSON_DECODE () werden in diesem Tutorial anhand einfacher Beispiele erläutert. Wir hoffen, dass der Zweck der Funktion json_decode () für die PHP -Benutzer nach dem Lesen dieses Tutorials gelöscht wird.