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

Bagaimana untuk menukar json kepada objek array php

PHPz
Lepaskan: 2023-04-26 13:42:02
asal
498 orang telah melayarinya

JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang biasa digunakan untuk penghantaran data bahagian hadapan dan belakang. Tatasusunan PHP ialah struktur data yang sangat biasa, terutamanya digunakan untuk menyimpan dan memanipulasi data. Dalam pembangunan sebenar, kita selalunya perlu menukar data JSON yang diterima dari bahagian hadapan ke dalam tatasusunan PHP untuk memudahkan pemprosesan dan penyimpanan seterusnya. Artikel ini akan memperkenalkan cara menukar data JSON kepada tatasusunan PHP dan tatasusunan objek.

Apakah itu JSON?

JSON ialah format pertukaran data ringan yang sangat biasa dalam interaksi hadapan dan belakang. Tidak seperti XML, JSON lebih ringkas dan mudah dihuraikan. Sebagai contoh, berikut ialah contoh data JSON yang mudah:

{
  "name": "Lucy",
  "age": 18,
  "gender": "female"
}
Salin selepas log masuk

Mari kita lihat struktur data JSON ini. Ia sebenarnya objek yang mengandungi tiga pasangan nilai kunci. Setiap pasangan nilai kunci terdiri daripada kunci dan nilai, dipisahkan dengan titik bertindih, dan pasangan nilai kunci dipisahkan dengan koma. Kuncinya ialah rentetan, dan nilainya boleh menjadi jenis data yang berbeza seperti rentetan, nombor, boolean, objek, tatasusunan, dsb.

Tukar data JSON kepada tatasusunan PHP

Dalam PHP, kita boleh menggunakan fungsi json_decode() untuk menukar data JSON kepada tatasusunan PHP. Fungsi ini menerima dua parameter Parameter pertama ialah data JSON untuk dihuraikan Parameter kedua ialah nilai Boolean, yang lalai kepada palsu, dan menentukan sama ada untuk menukar data JSON kepada tatasusunan bersekutu dan bukannya objek. Berikut ialah contoh mudah:

$json_data = '{ "name": "Lucy", "age": 18, "gender": "female" }';
$php_data = json_decode($json_data);

// 输出转换后的 PHP 数组
var_dump($php_data);
Salin selepas log masuk

Output adalah seperti berikut:

array(3) {
  ["name"]=>
  string(4) "Lucy"
  ["age"]=>
  int(18)
  ["gender"]=>
  string(6) "female"
}
Salin selepas log masuk
Salin selepas log masuk

Seperti yang ditunjukkan di atas, fungsi json_decode() berjaya menukar data JSON kepada tatasusunan PHP. Jika parameter kedua adalah benar, iaitu, menukar data JSON kepada tatasusunan bersekutu, maka kita boleh menulis seperti ini:

$json_data = '{ "name": "Lucy", "age": 18, "gender": "female" }';
$php_data = json_decode($json_data, true);

// 输出转换后的 PHP 关联数组
var_dump($php_data);
Salin selepas log masuk

Hasil output adalah seperti berikut:

array(3) {
  ["name"]=>
  string(4) "Lucy"
  ["age"]=>
  int(18)
  ["gender"]=>
  string(6) "female"
}
Salin selepas log masuk
Salin selepas log masuk

Tukar data JSON kepada tatasusunan Objek PHP

Jika data JSON mengandungi berbilang objek, kita perlu menukarnya kepada tatasusunan objek PHP. Berikut ialah contoh tatasusunan JSON:

[
  { "name": "Lucy", "age": 18, "gender": "female" },
  { "name": "Tom", "age": 20, "gender": "male" }
]
Salin selepas log masuk

Kita boleh menggunakan fungsi json_decode() untuk menukar tatasusunan JSON ini kepada tatasusunan PHP, dan kemudian gunakan foreach untuk menggelung tatasusunan dan menukar setiap elemen tatasusunan ke dalam objek PHP. Berikut ialah contoh kod:

$json_data = '[{ "name": "Lucy", "age": 18, "gender": "female" },
              { "name": "Tom", "age": 20, "gender": "male" }]';
$php_data = json_decode($json_data);

// 将数组元素转换为 PHP 对象
foreach ($php_data as $item) {
  $obj_array[] = (object) $item;
}

// 输出转换后的 PHP 对象数组
var_dump($obj_array);
Salin selepas log masuk

Output adalah seperti berikut:

array(2) {
  [0]=>
  object(stdClass)#1 (3) {
    ["name"]=>
    string(4) "Lucy"
    ["age"]=>
    int(18)
    ["gender"]=>
    string(6) "female"
  }
  [1]=>
  object(stdClass)#2 (3) {
    ["name"]=>
    string(3) "Tom"
    ["age"]=>
    int(20)
    ["gender"]=>
    string(4) "male"
  }
}
Salin selepas log masuk

Dalam kod ini, kami mula-mula menggunakan fungsi json_decode() untuk menukar data JSON kepada PHP tatasusunan. Kami kemudian melingkari tatasusunan melalui foreach, menukar setiap elemen tatasusunan menjadi objek PHP dan menyimpannya dalam $obj_array. Apabila menukar kepada objek PHP, kami menggunakan cast (object) untuk menukar elemen tatasusunan kepada objek PHP.

Ringkasan

Artikel ini menerangkan cara menukar data JSON kepada tatasusunan PHP dan tatasusunan objek. Dalam pembangunan sebenar, kita perlu kerap berinteraksi dengan data bahagian hadapan dan belakang, jadi adalah sangat penting untuk memahami penukaran antara tatasusunan JSON dan PHP. Perlu diingat bahawa apabila menukar, kita perlu mengetahui jenis data yang kita kendalikan untuk menggunakan fungsi yang sepadan dengan betul untuk pemprosesan.

Atas ialah kandungan terperinci Bagaimana untuk menukar json kepada objek array 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