Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-String-JSON zum Array-Objekt-Array

PHP-String-JSON zum Array-Objekt-Array

PHPz
PHPzOriginal
2023-05-07 15:59:08420Durchsuche

Bei der Entwicklung von Webanwendungen mit PHP müssen wir häufig String-JSON in ein Array oder Objektarray konvertieren. Da JSON eines der am häufigsten verwendeten Datenformate in der Webentwicklung ist, ist die Konvertierung von JSON in ein Array oder Objektarray ein sehr häufiger Vorgang.

In diesem Artikel stellen wir vor, wie man in PHP einen JSON-String in ein Array oder ein Array von Objekten konvertiert.

  1. Konvertieren Sie JSON in ein Array mit der Funktion json_decode.

In PHP gibt es eine integrierte Funktion json_decode(), die JSON-Strings in ein Array oder ein Objektarray konvertieren kann.

Diese Funktion hat zwei Parameter:

(1) String JSON: JSON-String, der konvertiert werden muss.

(2) Boolean assoc: Der Standardwert ist false, was bedeutet, dass ein Objektarray generiert wird. Wenn dieser Parameter auf true gesetzt ist, wird ein assoziatives Array generiert.

Hier ist ein einfaches Beispiel:

<?php
// JSON字符串
$jsonStr = '{"name":"Tom", "age":30, "city":"New York"}';

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

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

Ausgabeergebnis:

Array
(
    [name] => Tom
    [age] => 30
    [city] => New York
)
  1. JSON in Objektarray konvertieren

Wenn wir kein assoziatives Array, sondern ein Objektarray benötigen, können wir den Assoc-Parameter auf false setzen oder nicht Übergeben Sie diesen Parameter.

Hier ist ein Beispiel:

<?php
// JSON字符串
$jsonStr = '[{"name":"Tom", "age":30}, {"name":"Jerry", "age":35}]';

// 将JSON字符串转换为对象数组
$objArr = json_decode($jsonStr);

// 输出对象数组内容
foreach($objArr as $obj) {
    echo "Name: " . $obj->name . ", Age: " . $obj->age . "\n";
}
?>

Ausgabeergebnis:

Name: Tom, Age: 30
Name: Jerry, Age: 35
  1. Konvertieren Sie eine JSON-Zeichenfolge in ein Objektarray aus verschachtelten Objekten und Arrays.

In einigen Fällen kann die JSON-Zeichenfolge verschachtelte Objekte und Arrays enthalten, in die wir sie problemlos konvertieren können ein Array von Objekten unter Verwendung einer rekursiven Funktion.

Hier ist ein einfaches Beispiel:

<?php
// JSON字符串
$jsonStr = '{"name":"Tom", "age":30, "address":{"city":"New York", "country":"USA"}, "friends":["Jerry", "Kate"]}';

// 将JSON字符串转换为对象数组
$obj = json_decode($jsonStr);

// 递归地将嵌套的对象和数组转换为对象数组
function object_to_array($obj) {
    if(is_object($obj)) $obj = (array)$obj;
    if(is_array($obj)) {
        foreach($obj as $key=>$val) {
            $obj[$key] = object_to_array($val);
        }
    }
    return $obj;
}

// 输出对象数组内容
$objArr = object_to_array($obj);
print_r($objArr);
?>

Ausgabeergebnis:

Array
(
    [name] => Tom
    [age] => 30
    [address] => Array
        (
            [city] => New York
            [country] => USA
        )

    [friends] => Array
        (
            [0] => Jerry
            [1] => Kate
        )

)

Zusammenfassung

In diesem Artikel haben wir Ihnen gezeigt, wie Sie einen String-JSON in ein Array oder ein Array von Objekten in PHP konvertieren. Unabhängig davon, ob Sie JSON mithilfe der Funktion json_decode() in ein Array oder JSON in ein Array von Objekten konvertieren, ist dies sehr einfach und mühelos möglich. Wenn der JSON-String verschachtelte Objekte und Arrays enthält, können wir ihn auch mithilfe rekursiver Funktionen in ein Objektarray konvertieren. Wenn wir JSON-Daten verwenden müssen, können uns diese Techniken dabei helfen, unsere Programmierarbeit zu vereinfachen und die Produktivität zu verbessern.

Das obige ist der detaillierte Inhalt vonPHP-String-JSON zum Array-Objekt-Array. 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