Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar objek json php kepada array

Bagaimana untuk menukar objek json php kepada array

PHPz
PHPzasal
2023-04-18 09:47:00572semak imbas

Dengan perkembangan teknologi Internet, kami selalunya perlu memproses data JSON dalam PHP. Biasanya, kami menukar data JSON kepada tatasusunan PHP untuk manipulasi dan pemprosesan yang mudah. Artikel ini akan memperkenalkan fungsi json_decode() dan beberapa petua serta isu dalam menggunakan fungsi json_decode() dan memberikan beberapa contoh penggunaan.

1. Fungsi json_decode()

fungsi json_decode() ialah kaedah yang digunakan dalam PHP untuk menukar rentetan format JSON kepada objek atau tatasusunan PHP. Sintaks khusus adalah seperti berikut:

mixed json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0);

Penerangan fungsi:

  • $json: diperlukan. Rentetan format JSON untuk ditukar.
  • $assoc: Pilihan. Lalai ialah false, yang bermaksud objek dikembalikan; jika ditetapkan kepada true, tatasusunan dikembalikan.
  • $depth: Pilihan. Menentukan kedalaman rekursi, kedalaman maksimum ialah 512.
  • $options: Pilihan. Untuk menetapkan pilihan apabila menyahkod JSON, lihat [json_decode() perihalan fungsi](https://www.php.net/manual/en/function.json-decode.php) untuk mendapatkan butiran.

2. Tukar JSON kepada tatasusunan PHP

Kami menukar JSON kepada tatasusunan PHP Apabila menggunakan fungsi json_decode(), kami hanya perlu menetapkan parameter $assoc kepada iaitu Can. Berikut ialah contoh menukar data JSON kepada tatasusunan PHP: true

$json_str = '{"name": "Amy", "age": 20, "job": "Programmer"}';
$arr = json_decode($json_str, true);
print_r($arr); // 输出 ["name"=>"Amy", "age"=>20, "job"=>"Programmer"]
3 Tukar JSON kepada objek PHP

Dalam sesetengah senario, kami lebih suka menggunakan objek PHP untuk memproses JSON. data. Contoh kod untuk menukar JSON kepada objek PHP adalah seperti berikut:

$json_str = '{"name": "Tom", "age": 25, "job": "Designer"}';
$obj = json_decode($json_str);
echo $obj->name; // 输出 Tom
echo $obj->age; // 输出 25
echo $obj->job; // 输出 Designer
4 Beberapa petua penggunaan

    Nilai sama ada penukaran berjaya
  1. Apabila menggunakan fungsi
, kita perlu memberi perhatian kepada pengendalian kegagalan penukaran. Jika rentetan JSON tidak mematuhi spesifikasi, fungsi

mengembalikan json_decode(). Kita boleh menggunakan fungsi json_decode() untuk menentukan sama ada penukaran berjaya Contoh khusus adalah seperti berikut: nulljson_last_error()

$json_str = '{name: Amy}';
$obj = json_decode($json_str);
if (json_last_error() == JSON_ERROR_NONE) {
  echo '转换成功';
} else {
  echo '转换失败'; // 输出 转换失败
}
Memproses pengekodan Unikod
  1. Pengekodan Unikod ialah. sering digunakan dalam JSON untuk mewakili aksara khas , perlu ditranskodkan semasa menghuraikan. Apabila menggunakan fungsi
, kita boleh menetapkan parameter

kepada json_decode() untuk menunjukkan bahawa Unicode tidak akan ditranskodkan. Contoh kod khusus adalah seperti berikut: $optionsJSON_UNESCAPED_UNICODE

Di atas ialah kaedah dan teknik untuk menukar JSON kepada tatasusunan atau objek PHP. Semoga artikel ini dapat membantu anda!
$json_str = '{"name": "\u5f20\u4e09"}';
$arr = json_decode($json_str, true, 512, JSON_UNESCAPED_UNICODE);
echo $arr['name']; // 输出 张三

Atas ialah kandungan terperinci Bagaimana untuk menukar objek json php kepada array. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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