Bagaimana untuk menukar json menjadi objek tatasusunan objek dalam php

王林
Lepaskan: 2023-05-06 12:10:08
asal
423 orang telah melayarinya

Mengirim data dalam format JSON ialah operasi yang sangat biasa semasa proses pengekodan. PHP menyediakan fungsi yang dipanggil json_decode() untuk menukar rentetan JSON kepada nilai PHP. Artikel ini menerangkan cara menggunakan PHP untuk menukar JSON kepada tatasusunan dan objek.

Tukar kepada Tatasusunan menggunakan json_decode()

Andaikan kita mempunyai rentetan JSON berikut:

{
    "name": "Tom",
    "age": 30,
    "hobbies": ["reading", "running", "swimming"],
    "address": {
        "city": "Beijing",
        "country": "China"
    }
}
Salin selepas log masuk

Sekarang kita perlu menukarnya kepada tatasusunan PHP. Kita boleh menggunakan fungsi json_decode() dan menetapkan parameter kedua kepada true untuk menukar rentetan JSON kepada tatasusunan bersekutu Kodnya adalah seperti berikut:

$jsonString = '{"name":"Tom","age":30,"hobbies":["reading","running","swimming"],"address":{"city":"Beijing","country":"China"}}';
$assocArray = json_decode($jsonString, true);
print_r($assocArray);
Salin selepas log masuk

Hasil output ialah:

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

    [address] => Array
        (
            [city] => Beijing
            [country] => China
        )

)
Salin selepas log masuk
<.>Seperti yang anda lihat, kami berjaya menukar rentetan JSON kepada tatasusunan PHP dan mencetak hasilnya.

Tukar kepada objek menggunakan

json_decode()

Selain menukar rentetan JSON kepada tatasusunan PHP, kami juga boleh menukarnya kepada objek PHP. Begitu juga, kita boleh menggunakan fungsi

dan menetapkan parameter kedua kepada json_decode() atau meninggalkannya untuk menukar rentetan JSON kepada objek Kodnya adalah seperti berikut: false

$jsonString = '{"name":"Tom","age":30,"hobbies":["reading","running","swimming"],"address":{"city":"Beijing","country":"China"}}';
$obj = json_decode($jsonString);
var_dump($obj);
Salin selepas log masuk
Hasil output ialah:

object(stdClass)#1 (4) {
  ["name"]=>
  string(3) "Tom"
  ["age"]=>
  int(30)
  ["hobbies"]=>
  array(3) {
    [0]=>
    string(7) "reading"
    [1]=>
    string(7) "running"
    [2]=>
    string(8) "swimming"
  }
  ["address"]=>
  object(stdClass)#2 (2) {
    ["city"]=>
    string(7) "Beijing"
    ["country"]=>
    string(5) "China"
  }
}
Salin selepas log masuk
Seperti yang anda lihat, kami berjaya menukar rentetan JSON kepada objek PHP dan mencetak hasilnya.

Tukar kepada tatasusunan objek menggunakan

json_decode()

Dalam sesetengah kes, kita perlu menukar rentetan JSON kepada berbilang objek PHP. Dalam kes ini, kita boleh mula-mula menukarnya kepada tatasusunan PHP dan kemudian menggunakan fungsi pemetaan tatasusunan untuk menukarnya kepada tatasusunan objek PHP. Kodnya adalah seperti berikut:

$jsonString = '[{"name":"Tom","age":30},{"name":"Alice","age":25},{"name":"Bob","age":40}]';
$array = json_decode($jsonString, true);
$objArray = array_map(function($item) {
    return (object) $item;
}, $array);
print_r($objArray);
Salin selepas log masuk
Hasil output ialah:

Array
(
    [0] => stdClass Object
        (
            [name] => Tom
            [age] => 30
        )

    [1] => stdClass Object
        (
            [name] => Alice
            [age] => 25
        )

    [2] => stdClass Object
        (
            [name] => Bob
            [age] => 40
        )

)
Salin selepas log masuk
Seperti yang anda lihat, kami berjaya menukar rentetan JSON ke dalam tatasusunan objek PHP dan mencetak hasilnya.

Ringkasnya, PHP menyediakan cara yang sangat mudah untuk menukar rentetan JSON kepada tatasusunan dan objek PHP. Kita hanya perlu menggunakan fungsi

dan tentukan parameter yang sesuai. Ini berguna kerana kebanyakan API web mengembalikan data dalam JSON. json_decode()

Atas ialah kandungan terperinci Bagaimana untuk menukar json menjadi objek tatasusunan objek dalam php. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!