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

Bagaimana untuk menukar rentetan json kepada tatasusunan atau objek dalam php

PHPz
Lepaskan: 2023-04-20 11:24:59
asal
796 orang telah melayarinya

Apabila menggunakan PHP untuk pembangunan web, kami sering berurusan dengan data JSON. Jika data yang kami terima ialah data JSON dalam bentuk rentetan, maka kami perlu menukarnya menjadi objek atau tatasusunan dalam PHP untuk pemprosesan seterusnya. Dalam artikel ini, kita akan membincangkan cara menukar data JSON dalam bentuk rentetan kepada objek atau tatasusunan.

1. Tukar rentetan kepada objek JSON

Pertama, kita perlu menggunakan fungsi json_decode() dalam PHP untuk menukar rentetan JSON kepada objek JSON. Sintaks fungsi ini adalah seperti berikut:

json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0): mixed
Salin selepas log masuk

Antaranya, parameter $json menunjukkan rentetan JSON yang perlu ditukar, parameter $assoc menunjukkan sama ada hendak menukar objek JSON yang ditukar menjadi bentuk tatasusunan; parameter $depth Menunjukkan kedalaman rekursi maksimum; $options

Kod sampel adalah seperti berikut:

$json_string = '{"name":"张三","age":18}';
$json_obj = json_decode($json_string);
var_dump($json_obj);
Salin selepas log masuk
Hasil keluaran:

object(stdClass)#1 (2) {
  ["name"]=>
  string(6) "张三"
  ["age"]=>
  int(18)
}
Salin selepas log masuk
Seperti yang dinyatakan di atas, gunakan fungsi

untuk menukar rentetan JSON kepada objek JSON dan return ialah objek json_decode() dalam PHP. stdClass

2. Tukar rentetan kepada tatasusunan JSON

Jika kita perlu menukar rentetan JSON kepada tatasusunan dalam PHP, kita boleh menetapkan parameter

kepada $assoc. Kod sampel adalah seperti berikut: true

$json_string = '[{"name":"张三","age":18},{"name":"李四","age":20}]';
$json_arr = json_decode($json_string, true);
var_dump($json_arr);
Salin selepas log masuk
Hasil keluaran:

array(2) {
  [0]=>
  array(2) {
    ["name"]=>
    string(6) "张三"
    ["age"]=>
    int(18)
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(6) "李四"
    ["age"]=>
    int(20)
  }
}
Salin selepas log masuk
Seperti yang dapat dilihat daripada contoh di atas, selepas penukaran, data yang pada asalnya merupakan objek JSON, seperti sebagai

, Ditukar kepada bentuk tatasusunan dalam PHP, seperti {"name":"张三","age":18}. ["name" => "张三", "age" => 18]

3. Tukar rentetan kepada tatasusunan objek JSON

Dalam aplikasi praktikal, kita mungkin perlu menukar rentetan JSON yang terdiri daripada berbilang objek JSON kepada tatasusunan objek dalam PHP.

Kod sampel adalah seperti berikut:

$json_string = '[{"name":"张三","age":18},{"name":"李四","age":20}]';
$json_obj_arr = json_decode($json_string);
var_dump($json_obj_arr);
Salin selepas log masuk
Hasil keluaran:

array(2) {
  [0]=>
  object(stdClass)#2 (2) {
    ["name"]=>
    string(6) "张三"
    ["age"]=>
    int(18)
  }
  [1]=>
  object(stdClass)#3 (2) {
    ["name"]=>
    string(6) "李四"
    ["age"]=>
    int(20)
  }
}
Salin selepas log masuk
Berbanding dengan menukar rentetan JSON kepada tatasusunan, menukarnya kepada tatasusunan objek adalah lebih rumit beberapa operasi. Dalam kod contoh ini, fungsi

digunakan untuk menukar rentetan kepada tatasusunan objek JSON. Hasil pulangan ialah tatasusunan yang terdiri daripada berbilang objek json_decode(). stdClass

Ringkasnya, memproses data JSON ialah bahagian penting dalam proses pembangunan web. Melalui pengenalan artikel ini, anda telah mempelajari cara menukar rentetan JSON kepada objek atau tatasusunan dalam PHP dan cara menukar rentetan JSON yang terdiri daripada berbilang objek kepada tatasusunan objek dalam PHP.

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