Rentetan PHP json kepada tatasusunan objek tatasusunan

PHPz
Lepaskan: 2023-05-07 15:59:08
asal
464 orang telah melayarinya

Apabila membangunkan aplikasi web menggunakan PHP, kita selalunya perlu menukar rentetan JSON kepada tatasusunan atau tatasusunan objek. Oleh kerana JSON ialah salah satu format data yang biasa digunakan dalam pembangunan web, menukar JSON kepada tatasusunan atau tatasusunan objek ialah operasi yang sangat biasa.

Dalam artikel ini, kami akan memperkenalkan cara menukar JSON rentetan kepada tatasusunan atau tatasusunan objek dalam PHP.

  1. Gunakan fungsi json_decode untuk menukar JSON kepada tatasusunan

Terdapat fungsi terbina dalam json_decode() dalam PHP yang boleh menukar rentetan JSON kepada tatasusunan atau susunan objek.

Fungsi ini mempunyai dua parameter:

(1) Rentetan JSON: Rentetan JSON yang perlu ditukar.

(2) Nilai Boolean assoc: Nilai lalai adalah palsu, yang bermaksud tatasusunan objek dijana. Jika parameter ini ditetapkan kepada benar, tatasusunan bersekutu akan dijana.

Berikut ialah contoh mudah:

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

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

// 输出数组内容
print_r($arr);
?>
Salin selepas log masuk

Hasil keluaran:

Array
(
    [name] => Tom
    [age] => 30
    [city] => New York
)
Salin selepas log masuk
  1. Tukar JSON kepada tatasusunan objek

Jika kami Anda tidak 't memerlukan tatasusunan bersekutu, tetapi tatasusunan objek, anda boleh menetapkan parameter bersekutu kepada palsu atau tidak melepasinya.

Berikut ialah contoh:

<?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";
}
?>
Salin selepas log masuk

Hasil keluaran:

Name: Tom, Age: 30
Name: Jerry, Age: 35
Salin selepas log masuk
  1. Tukar rentetan JSON kepada tatasusunan objek objek dan tatasusunan bersarang

Dalam sesetengah kes, rentetan JSON mungkin mengandungi objek dan tatasusunan bersarang, dan kami boleh menggunakan fungsi rekursif untuk menukarnya kepada tatasusunan objek dengan mudah.

Berikut ialah contoh mudah:

<?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);
?>
Salin selepas log masuk

Hasil keluaran:

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

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

)
Salin selepas log masuk

Ringkasan

Dalam artikel ini, kami memperkenalkan cara menukar aksara dalam rentetan PHP Convert JSON kepada tatasusunan atau tatasusunan objek. Sama ada anda menukar JSON kepada tatasusunan menggunakan fungsi json_decode() atau menukar JSON kepada tatasusunan objek, ia boleh dilakukan dengan mudah dan mudah. Jika rentetan JSON mengandungi objek dan tatasusunan bersarang, kami juga boleh menggunakan fungsi rekursif untuk menukarnya menjadi tatasusunan objek. Apabila kami perlu menggunakan data JSON, teknik ini boleh membantu kami memudahkan kerja pengaturcaraan kami dan meningkatkan produktiviti.

Atas ialah kandungan terperinci Rentetan PHP json kepada tatasusunan objek tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan