Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie JSON in ein Array in PHP

So konvertieren Sie JSON in ein Array in PHP

PHPz
PHPzOriginal
2023-04-27 09:01:051207Durchsuche

JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat, das häufig für die Dateninteraktion zwischen Webanwendungen verwendet wird. In PHP müssen wir häufig Daten im JSON-Format zur Verarbeitung in Arrays konvertieren. In diesem Artikel wird ausführlich beschrieben, wie man JSON in PHP in ein Array konvertiert.

1. In PHP integrierte Funktion json_decode()

In PHP gibt es eine integrierte Funktion json_decode(), die Zeichenfolgen im JSON-Format in PHP-Arrays konvertieren kann. Die Syntax dieser Funktion lautet wie folgt:

rrree

Darunter stellt der Parameter $json die zu dekodierende JSON-Zeichenfolge dar; der Parameter $assoc ist standardmäßig FALSE, was angibt, dass ein Objekt anstelle des Parameters $ Depth zurückgegeben wird stellt die maximale Dekodierungstiefe dar; der Parameter $options stellt Dekodierungsoptionen dar.

Das Folgende ist ein einfaches Beispiel für die Konvertierung einer JSON-Zeichenfolge in ein Array:

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

Das Ausgabeergebnis ist:

<?php
// JSON字符串
$json = &#39;{"name":"Tom","age":18,"hobbies":["reading","writing","swimming"]}&#39;;

// 将JSON字符串转换为数组
$arr = json_decode($json, true);

// 输出数组
print_r($arr);
?>

2. PHP behandelt JSON-Parsing-Fehler

In der tatsächlichen Entwicklung treten jedoch manchmal JSON-Parsing-Fehler auf. wie Formatfehler, Datentypkonflikte usw. Derzeit können wir auf zwei Arten damit umgehen:

  1. Verwenden Sie Try-Catch, um Ausnahmen abzufangen.

Sie können die Try-Catch-Anweisung in PHP verwenden, um Ausnahmen abzufangen und zu behandeln. Wenn die Funktion json_decode() einen JSON-String analysiert, löst sie eine Ausnahme aus, wenn das Format falsch ist oder andere Fehler vorliegen. Wir können Try-Catch verwenden, um diese Ausnahmen abzufangen und zu behandeln.

Array (
    [name] => Tom
    [age] => 18
    [hobbies] => Array (
        [0] => reading
        [1] => writing
        [2] => swimming
    )
)

Das Ausgabeergebnis ist: JSON-String-Formatfehler: Syntaxfehler

  1. Verwenden Sie die Funktion json_last_error(), um Fehlerinformationen abzurufen

Zusätzlich zum Abfangen von Ausnahmen können Sie auch die Funktion json_last_error() verwenden, um Fehler beim Parsen von JSON abzurufen Strings-Informationen. Diese Funktion gibt eine Ganzzahl zurück, die den Fehlercode der letzten JSON-Analyse darstellt. Wenn beispielsweise das Format der analysierten JSON-Zeichenfolge falsch ist, gibt die Funktion json_last_error() JSON_ERROR_SYNTAX zurück. Wir können anhand des Fehlercodes beurteilen, ob die Analyse erfolgreich war, und ihn entsprechend behandeln.

Hier ist ein Beispiel:

<?php
// JSON字符串
$json = &#39;{"name":"Tom","age":18,"hobbies":}&#39;; // 格式错误

// 将JSON字符串转换为数组
try {
    $arr = json_decode($json, true, 512, JSON_THROW_ON_ERROR);
    print_r($arr);
} catch (JsonException $e) {
    echo "JSON字符串格式错误:" . $e->getMessage();
}
?>

Das Ausgabeergebnis ist: JSON-String-Formatfehler: Syntaxfehler

Zusammenfassung

In PHP können wir die integrierte Funktion json_decode() verwenden, um einen JSON-formatierten String in ein Array zu konvertieren . Wenn beim Parsen einer JSON-Zeichenfolge ein Fehler auftritt, können wir die Try-Catch-Anweisung verwenden, um die Ausnahme abzufangen, oder die Funktion json_last_error() verwenden, um die Fehlerinformationen abzurufen und sie gemäß verschiedenen Fehlercodes zu verarbeiten. In diesem Artikel werden zwei Methoden zur Fehlerbehandlung vorgestellt, die je nach tatsächlicher Situation ausgewählt werden können.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie JSON in ein Array in PHP. 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