Heim > Backend-Entwicklung > PHP-Problem > PHP konvertiert JSON in ein Array-Objekt

PHP konvertiert JSON in ein Array-Objekt

PHPz
Freigeben: 2023-05-11 09:37:36
Original
479 Leute haben es durchsucht

Bei der Webentwicklung geht es oft darum, Daten im JSON-Format von der Front-End-Seite an das Back-End zu übermitteln und diese Daten dann in eine Array- oder Objektform umzuwandeln, die PHP verarbeiten kann. In diesem Artikel wird erläutert, wie Sie mit PHP JSON-Daten in Array-Objekte konvertieren.

JSON ist ein leichtes Datenaustauschformat mit klarer Struktur und einfachem Lesen und Schreiben. PHP verfügt über integrierte JSON-Verarbeitungsfunktionen, mit denen JSON problemlos in Array- oder Objektform konvertiert werden kann.

Angenommen, wir haben die folgenden JSON-Daten:

{
    "name": "Tom",
    "age": 20,
    "address": {
        "province": "Guangdong",
        "city": "Guangzhou"
    },
    "hobbies": [
        "reading",
        "swimming"
    ]
}
Nach dem Login kopieren

Verwenden Sie die PHP-Funktion json_decode(), um sie in ein Array-Objekt umzuwandeln. Die Verwendung der Funktion ist wie folgt: json_decode()函数可以将其转化为数组对象。函数的用法如下:

array|object json_decode(string $json[, bool $assoc = false[, int $depth = 512[, int $options = 0]]])
Nach dem Login kopieren

参数说明:

  • $json:需要解码的JSON字符串。
  • $assoc(可选):当该参数为真时,将返回数组形式,为假时返回对象形式。默认为假。
  • $depth(可选):设置解析JSON数据的最大深度。默认为512,超出范围将返回null。
  • $options(可选):设置JSON解码器的选项,如JSON_BIGINT_AS_STRING可以将大整数视为字符串返回。

代码示例:

$jsonStr = '{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }';

$array = json_decode($jsonStr, true);

print_r($array);
Nach dem Login kopieren

输出结果:

Array
(
    [name] => Tom
    [age] => 20
    [address] => Array
        (
            [province] => Guangdong
            [city] => Guangzhou
        )

    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
        )
)
Nach dem Login kopieren

可以看到,json_decode()函数将JSON字符串转化为了PHP数组对象。

如果要将JSON数据转化为PHP对象形式,可以去掉函数中的第二个参数或将其设置为false。

除了将JSON数据转化为数组或对象形式,PHP还可以将数组或对象形式的数据编码为JSON字符串。这可以使用PHP的json_encode()

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

Parameterbeschreibung:

    $json: JSON-Zeichenfolge, die dekodiert werden muss.
  • $assoc (optional): Wenn dieser Parameter wahr ist, wird er in Array-Form zurückgegeben, und wenn er falsch ist, wird er in Objektform zurückgegeben. Der Standardwert ist „false“.
  • $ Depth (optional): Legen Sie die maximale Tiefe für das Parsen von JSON-Daten fest. Der Standardwert ist 512 und null wird zurückgegeben, wenn außerhalb des Bereichs.
  • $options (optional): Legen Sie die JSON-Decoderoptionen fest, z. B. JSON_BIGINT_AS_STRING, die große Ganzzahlen als Zeichenfolgen zurückgeben können.

Codebeispiel:

$array = array(
    'name' => 'Tom',
    'age' => 20,
    'address' => array(
        'province' => 'Guangdong',
        'city' => 'Guangzhou'
    ),
    'hobbies' => array(
        'reading',
        'swimming'
    )
);

$jsonStr = json_encode($array, JSON_PRETTY_PRINT);

echo $jsonStr;
Nach dem Login kopieren

Ausgabeergebnis:

{
    "name": "Tom",
    "age": 20,
    "address": {
        "province": "Guangdong",
        "city": "Guangzhou"
    },
    "hobbies": [
        "reading",
        "swimming"
    ]
}
Nach dem Login kopieren
Wie Sie sehen können, konvertiert die Funktion json_decode() einen JSON-String in ein PHP-Array-Objekt. 🎜🎜Wenn Sie JSON-Daten in PHP-Objektform konvertieren möchten, können Sie den zweiten Parameter in der Funktion entfernen oder auf false setzen. 🎜🎜PHP kann nicht nur JSON-Daten in Array- oder Objektform konvertieren, sondern auch Array- oder Objektdaten in JSON-Strings kodieren. Dies kann mit der PHP-Funktion json_encode() erreicht werden. Die Funktionsverwendung ist wie folgt: 🎜rrreee🎜 Parameterbeschreibung: 🎜🎜🎜$value: Der Wert, der als JSON-String codiert werden muss. 🎜🎜$options (optional): Durch das Festlegen von JSON-Encoderoptionen wie JSON_PRETTY_PRINT kann die codierte JSON-Zeichenfolge leichter lesbar gemacht werden. 🎜🎜$ Depth (optional): Legen Sie die maximale Tiefe der codierten JSON-Daten fest. Der Standardwert ist 512 und eine leere Zeichenfolge wird zurückgegeben, wenn sie den Bereich überschreitet. 🎜🎜🎜Codebeispiel: 🎜rrreee🎜Ausgabeergebnis: 🎜rrreee🎜In der tatsächlichen Entwicklung wird die AJAX-Technologie häufig verwendet, um JSON-Daten an den Back-End-Server zu senden und diese dann über PHP in eine betriebsfähige Form umzuwandeln. Die Beherrschung der oben genannten JSON-bezogenen PHP-Funktionen erleichtert die Verarbeitung von JSON-Daten. 🎜

Das obige ist der detaillierte Inhalt vonPHP konvertiert JSON in ein Array-Objekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage