Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar rentetan json ke objek tatasusunan dalam php

Bagaimana untuk menukar rentetan json ke objek tatasusunan dalam php

PHPz
Lepaskan: 2023-04-17 14:54:32
asal
662 orang telah melayarinya

PHP ialah bahasa pengaturcaraan sebelah pelayan yang sangat popular Ia mempunyai fungsi pemprosesan rentetan yang kuat dan menyokong penukaran rentetan berformat JSON kepada tatasusunan atau objek. Dalam artikel ini, kami akan memperkenalkan cara menukar rentetan JSON kepada objek tatasusunan dalam PHP.

1. Konsep JSON

JSON adalah singkatan dari JavaScript Object Notation, yang diterjemahkan sebagai "JavaScript Object Notation". Ia adalah format pertukaran data ringan yang digunakan secara meluas dalam penghantaran Web dan penyimpanan data. Data dalam format JSON boleh disimpan dalam bentuk rentetan, atau boleh diwakili secara langsung dalam JavaScript sebagai objek atau tatasusunan.

2. Fungsi JSON dalam PHP

PHP menyediakan satu siri fungsi JSON untuk penukaran antara rentetan dalam format JSON dan jenis data dalam PHP. Berikut ialah beberapa fungsi JSON yang biasa digunakan:

  1. json_encode(): Tukar jenis data dalam PHP kepada format JSON; dalam PHP;
  2. json_last_error(): Dapatkan ralat yang disebabkan oleh JSON.
  3. 3. Tukar rentetan JSON kepada tatasusunan

Menukar rentetan JSON kepada tatasusunan agak mudah, cuma gunakan fungsi json_decode() dalam PHP. Contohnya, kod berikut menukar rentetan berformat JSON kepada tatasusunan PHP:

Dalam kod di atas, kami mula-mula mentakrifkan rentetan berformat JSON $json_str, yang mewakili watak bernama Tom male, umur 20. Kami kemudian menggunakan fungsi json_decode() untuk menukar rentetan ini kepada tatasusunan dalam PHP dan menetapkannya kepada pembolehubah $arr. Akhir sekali, kami menggunakan fungsi print_r() untuk mencetak tatasusunan dan mendapatkan hasil berikut:
$json_str = '{"name":"Tom","age":20,"sex":"male"}';
$arr = json_decode($json_str, true);
print_r($arr);
Salin selepas log masuk

Array

(


)
[name] => Tom
[age] => 20
[sex] => male
Salin selepas log masuk

Seperti yang dapat dilihat daripada hasilnya, rentetan JSON telah berjaya ditukar menjadi tatasusunan PHP.

4. Tukar rentetan JSON kepada objek

Selain menukar rentetan JSON kepada tatasusunan, kami juga boleh menukarnya kepada objek dalam PHP. Untuk mencapai ini, kita perlu meninggalkan parameter kedua atau menetapkannya kepada false apabila memanggil fungsi json_decode(). Sebagai contoh, kod berikut menukar rentetan berformat JSON kepada objek PHP:

Dalam kod di atas, kami mentakrifkan rentetan berformat JSON $json_str dan menggunakan fungsi json_decode() untuk Which is ditukar kepada objek dalam PHP. Akhir sekali, kami menggunakan fungsi var_dump() untuk memaparkan objek dan mendapatkan hasil berikut:
$json_str = '{"name":"Tom","age":20,"sex":"male"}';
$obj = json_decode($json_str);
var_dump($obj);
Salin selepas log masuk

objek(stdClass)#1 (3) {

["name"]=>

rentetan (3) "Tom"
["umur"]=>
int(20)
["seks"]=>
rentetan(4) "lelaki"
}

Seperti yang dapat dilihat daripada hasilnya, rentetan JSON telah berjaya ditukar menjadi objek PHP.

5. Menukar tatasusunan atau objek kepada rentetan JSON

Selain menukar rentetan JSON kepada tatasusunan atau objek dalam PHP, kami juga boleh menukar tatasusunan atau objek dalam rentetan PHP A dalam format JSON. Untuk mencapai ini, kita perlu menggunakan fungsi json_encode() dalam PHP. Contohnya, kod berikut menukar tatasusunan PHP kepada rentetan dalam format JSON:

Dalam kod di atas, kami mentakrifkan tatasusunan PHP $arr, yang mewakili lelaki bernama Tom berumur 20 tahun berumur tahun. Kami kemudian menggunakan fungsi json_encode() untuk menukar tatasusunan kepada rentetan berformat JSON dan menetapkannya kepada pembolehubah $json_str. Akhir sekali, kami menggunakan pernyataan gema untuk mencetak rentetan dan mendapatkan hasil berikut:
$arr = array('name' => 'Tom', 'age' => 20, 'sex' => 'male');
$json_str = json_encode($arr);
echo $json_str;
Salin selepas log masuk

{"name":"Tom","age":20,"jantina":"lelaki"}

Seperti yang dapat dilihat daripada keputusan, tatasusunan PHP telah berjaya ditukar kepada rentetan format JSON.

6. Tukar objek tatasusunan kepada rentetan JSON

Dalam sesetengah kes, kita perlu menukar objek tatasusunan dalam PHP kepada rentetan format JSON. Untuk mencapai matlamat ini, kita boleh mula-mula menukar objek tatasusunan kepada objek dan kemudian menukarnya kepada rentetan berformat JSON menggunakan fungsi json_encode(). Contohnya, kod berikut menukar objek tatasusunan kepada rentetan dalam format JSON:

Dalam kod di atas, kami mentakrifkan tatasusunan PHP $arr yang mengandungi dua objek tatasusunan. Kemudian, kami menggunakan (objek)$arr untuk menukarnya kepada objek PHP $obj, kemudian gunakan fungsi json_encode() untuk menukar objek itu kepada rentetan berformat JSON dan menetapkannya kepada pembolehubah $json_str. Akhir sekali, kami menggunakan pernyataan gema untuk mencetak rentetan dan mendapatkan hasil berikut:
$arr = array(
    array('name' => 'Tom', 'age' => 20, 'sex' => 'male'),
    array('name' => 'Lucy', 'age' => 18, 'sex' => 'female')
);
$obj = (object)$arr;
$json_str = json_encode($obj);
echo $json_str;
Salin selepas log masuk

[{"name":"Tom","age":20,"sex":"male"},{" name" :"Lucy","age":18,"sex":"female"}]

Seperti yang dapat dilihat daripada keputusan, objek tatasusunan PHP berjaya ditukar kepada rentetan format JSON.

Ringkasnya, melalui contoh di atas, kita boleh memahami dengan jelas cara menukar rentetan JSON kepada tatasusunan atau objek dan menukar tatasusunan atau objek kepada rentetan JSON dalam PHP. Operasi ini sangat biasa dalam proses pengaturcaraan PHP kami, dan menguasainya akan meningkatkan kecekapan pengaturcaraan kami.

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan json ke objek tatasusunan 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