Heim  >  Artikel  >  Backend-Entwicklung  >  PHP json_decode

PHP json_decode

王林
王林Original
2024-08-29 13:09:30973Durchsuche

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

Funktionsweise von Json_decode() in PHP

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

  • Asso_arr: Mit diesem Parameter werden die booleschen Werte angegeben, die ein zugehöriges Array zurückgeben können, wenn der Wert auf „true“ gesetzt ist. Andernfalls wird ein Objekt zurückgegeben, wenn er auf „false“ gesetzt ist. Dieser Parameter ist optional und hat den Standardwert false.
  • Recur_ Depth: Dieser Parameter wird verwendet, um die Tiefe der Rekursion anzugeben. Dies ist auch ein optionaler Parameter mit 512 als Standardwert.
  • Opt: Dieser Parameter wird verwendet, um die Bitmaske von JSON_OBJECT_AS_ARRAY, JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_SUBSTITUTE, JSON_THROW_ON_ERROR anzugeben, und dies ist auch ein optionaler Parameter.

Sehen wir uns nun ein einfaches Beispiel an, das json_decode() von PHP in einer HTML-Struktur verwendet.

Beispiele für PHP json_decode

Im Folgenden sind die Beispiele aufgeführt:

Beispiel #1

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:

PHP json_decode

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.

PHP json_decode

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.

Beispiel #2

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:

PHP json_decode

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.

Beispiel #3

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:

PHP json_decode

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.

PHP json_decode

Das obige ist der detaillierte Inhalt vonPHP json_decode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP include_onceNächster Artikel:PHP include_once