Heim > Artikel > Backend-Entwicklung > PHP json_decode
In PHP ist die integrierte Funktion json_decode() als Funktion definiert; Wie der Name schon sagt, handelt es sich um eine Funktion zur Konvertierung beliebiger JSON-Objekte in einem Standardtextformat oder zur Dekodierung von JSON-Objekten in PHP-Objekte. Dabei wird ein JSON-String als Parameter verwendet, den diese Funktion konvertiert oder dekodiert und die kodierten Werte zurückgibt, die in JSON waren in richtige PHP-Objekte umwandeln. PHP stellt im Allgemeinen eine Funktion bereit, die einen JSON-String, der normalerweise ein Javascript-Array oder Objektliterale darstellt, verwendet, um diesen codierten String im JSON-Format in einen bestimmten PHP-Objektdatentyp zu konvertieren.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
In diesem Artikel ist json_decode() eine integrierte Funktion von PHP zum Konvertieren oder Dekodieren der JSON-Zeichenfolge in PHP-Objekte. In PHP dekodiert die Funktion json_decode()
einen JSON-String und konvertiert ihn in PHP-Objekte oder Datentypen. Es nimmt die JSON-Daten als Parameter und gibt die entsprechende PHP-Darstellung zurück.
Im folgenden Abschnitt sehen wir Syntax und Beispiele für die Verwendung der Funktion json_decode():
Syntax:
json_decode(json_string, asso_arr, recur_depth, opt<em>)</em>
Parameter:
Json_string: Dieser Parameter ist obligatorisch, um die JSON-codierte Zeichenfolge für die Konvertierung in PHP-Objekte anzugeben
Sehen wir uns nun ein einfaches Beispiel an, das json_decode() von PHP in einer HTML-Struktur verwendet.
Im Folgenden sind die Beispiele aufgeführt:
Code:
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '{ "CompayName": "Educba", "Director": "Snehal", "Employee": "Amardeep", "address": { "ColonyName": "Shivaji road", "city": "Baramati", "state": "Maharashtra", "postalCode": "1234567" }, "TelephoneNumbers": [ { "type": "Work", "phonenumber": "9876543210" } ] }'; var_dump(json_decode($json_string, true)); ?> </body> </html>
Ausgabe:
Im obigen Programm können wir sehen, wann wir PHP-Code in der HTML-Struktur schreiben; wir beginnen mit „< ?php“, dann schreiben wir den Code und am Ende lautet das schließende Tag für PHP-Code „? >“. Es verfügt über ein Array (5), was bedeutet, dass es 5 Elemente in einem Array enthält. Angenommen, wir haben nichts festgelegt oder den Parameter asso_arr wie „var_dump(json_decode($json_string));“ nicht übergeben. dann würde uns dieser Wert Zugriff auf die Eigenschaft des Objekts in einem Array gewähren, wie im folgenden Screenshot gezeigt.
Jetzt sehen wir unten ein Beispiel: ein ungültiges JSON-Format und die Übergabe dieser Zeichenfolge an die Funktion json_decode() und welchen Fehler und welche Ausgabe es gibt. Wir werden auch sehen, wie diese Arrays gedruckt werden, auf die mit der „Echo“-Funktion im folgenden Abschnitt zugegriffen werden kann.
Im folgenden Programm sehen wir, wie man mit der Echo-Funktion auf ein Element eines Arrays zugreift.
Code:
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '[ { "Companyname": "Educba", "Director": "Snehal", "phnumber": "89945954874" }, { "Companyname": "Google", "Director": "Ann", "phnumber": "9877564694" } ]'; $x = json_decode($json_string); echo $x[0]->Companyname; ?> </body> </html>
Ausgabe:
Im obigen Programm können wir sehen, wann wir einen json_string deklariert und auf eines der Elemente im Array zugegriffen haben; Wir verwenden array[index] in jeder Programmiersprache. Ebenso schreiben wir es mit der Echo-Funktion und im obigen Code müssen wir beachten, dass wir den Parameter asso_arr in der Funktion json_decode() nicht übergeben haben. Um also auf das Element zuzugreifen, müssen wir „echo $x[“ schreiben. 0]-> Name der Firma;" und wenn wir den zweiten Parameter auf „true“ setzen, müssen wir „echo $x[0][‚Companyname‘];“ schreiben.
Im Folgenden sehen wir die Übergabe einer ungültigen JSON-Zeichenfolge an die Funktion und versuchen auch, die Fehler auszudrucken.
Code:
<!DOCTYPE html> <html lang="en"> <head> <title>Educba- PHP json_decode</title> </head> <body> <?php $json_string = '[ { "Companyname": "Educba" "Director": "Snehal" "phnumber": "89945954874" "Companyname": "Google" "Director": "Ann" "phnumber": "9877564694" } ]'; $x = json_decode($json_string); echo $x[0]->Companyname; echo json_last_error(); echo json_last_error_msg(); ?> </body> </html>
Ausgabe:
Wir drucken die Fehlerinformationen, z. B. „4 Syntaxfehler“, mithilfe der Funktionen json_last_error() und json_last_error_msg() aus. Diese Funktionen liefern Details zu den Fehlern im Zusammenhang mit dem im obigen Beispiel geschriebenen PHP-Code. Wenn wir mithilfe der Fehlerfunktionen keine Fehlermeldungen ausgeben möchten, ist die Ausgabe „null“, was darauf hinweist, dass die konvertierten PHP-Objekte oder die JSON-Daten selbst ungültig sind.
Das obige ist der detaillierte Inhalt vonPHP json_decode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!