Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-JSON-zu-Array-Funktion

PHP-JSON-zu-Array-Funktion

王林
王林Original
2023-05-05 21:25:06442Durchsuche

In PHP müssen wir JSON häufig zur Verarbeitung in ein Array konvertieren. Da das JSON-Format relativ prägnant und leicht verständlich ist, hat es sich zu einem gängigen Format für die Datenübertragung zwischen Front- und Backend entwickelt. Daher gibt es in PHP einige Funktionen, die uns bei der Konvertierung von JSON in ein Array helfen können.

In diesem Artikel werden verschiedene JSON-to-Array-Funktionen vorgestellt, die häufig in PHP verwendet werden. Die Funktion

  1. json_decode()

json_decode() ist die Grundfunktion in PHP, die zum Konvertieren von JSON-Strings in PHP-Arrays oder -Objekte verwendet wird. Die Syntax lautet wie folgt:

mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )

Wobei:

  • $json: die JSON-Zeichenfolge, die konvertiert werden muss.
  • $assoc: Wenn dieser Parameter TRUE ist, gibt er ein Array zurück; wenn er FALSE ist, gibt er ein Object-Objekt zurück.
  • $tiefe: Gibt die maximale Tiefe an, mit der die Tiefe rekursiver Aufrufe gesteuert wird. Der Standardwert ist 512.
  • $Optionen: JSON-Kodierungsoptionen, Sie können das konvertierte Format angeben.

Beispielcode:

$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"]}';
$arr = json_decode($json_str, TRUE);
print_r($arr);

Ausgabeergebnis:

Array
(
    [name] => Tom
    [age] => 20
    [hobby] => Array
        (
            [0] => reading
            [1] => writing
        )
)

Durch die Funktion json_decode() haben wir die JSON-Zeichenfolge erfolgreich in ein Array konvertiert.

  1. json_decode() kombiniert mit JSON_THROW_ON_ERROR

In PHP 7.3 und höher können wir die Option JSON_THROW_ON_ERROR verwenden, damit die Funktion json_decode() eine Ausnahme auslöst, wenn ein Konvertierungsfehler auftritt. Der Beispielcode lautet wie folgt:

$json_str = '{"name":"Tom","age":20,"hobby:["reading","writing"]}';
try {
    $arr = json_decode($json_str, TRUE, 512, JSON_THROW_ON_ERROR);
    print_r($arr);
} catch (JsonException $e) {
    echo 'JSON错误:' . $e->getMessage();
}

Ausgabeergebnis:

JSON错误:Syntax error

Da in diesem Beispiel das JSON-String-Format falsch ist, löste die Funktion json_decode() eine Ausnahme aus und löste eine Fehlermeldung aus.

  1. json_last_error_msg()

Bei Verwendung der Funktion json_decode() zum Konvertieren einer JSON-Zeichenfolge treten manchmal Analysefehler auf. In diesem Fall können wir die Funktion json_last_error_msg() verwenden, um die Fehlerinformationen abzurufen. Der Beispielcode lautet wie folgt:

$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"';
$arr = json_decode($json_str, TRUE);
if (json_last_error() === JSON_ERROR_NONE) {
    print_r($arr);
} else {
    echo 'JSON错误:' . json_last_error_msg();
}

Ausgabeergebnis:

JSON错误:Syntax error

In diesem Beispiel hat json_last_error_msg() eine Fehlermeldung aufgrund eines falschen String-Formats zurückgegeben.

  1. json_encode()

In PHP können wir PHP-Arrays auch in Zeichenfolgen im JSON-Format konvertieren, was die Verwendung der Funktion json_encode() erfordert. Die Syntax lautet wie folgt:

string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )

Wobei:

  • $Wert: PHP-Variable, die in das JSON-Format konvertiert werden muss.
  • $Optionen: optional. JSON-Codierungsoptionen.
  • $Tiefe: optional. Geben Sie die maximale Tiefe an. Der Standardwert ist 512.

Der Beispielcode lautet wie folgt:

$arr = array('name' => 'Tom', 'age' => 20, 'hobby' => array('reading', 'writing'));
$json_str = json_encode($arr, JSON_UNESCAPED_UNICODE);
echo $json_str;

Ausgabeergebnis:

{"name":"Tom","age":20,"hobby":["reading","writing"]}

Durch die Funktion json_encode() haben wir das PHP-Array erfolgreich in einen JSON-String konvertiert.

Zusammenfassung:

In PHP können wir die Funktion json_decode() verwenden, um einen JSON-String in ein Array oder Objekt zu konvertieren, und wir können auch die Funktion json_encode() verwenden, um ein PHP-Array in einen JSON-formatierten String zu konvertieren. Unter normalen Umständen können Sie die Standardoptionen verwenden. Bei Bedarf können Sie verwandte Optionen zum Konfigurieren verwenden. Beim Parsen oder Codieren von JSON können wir auch verwandte Funktionen verwenden, um Fehlerinformationen für eine bessere Verarbeitung abzurufen.

Das obige ist der detaillierte Inhalt vonPHP-JSON-zu-Array-Funktion. 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