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

Bagaimana untuk menukar objek tatasusunan dalam php json

PHPz
Lepaskan: 2023-04-26 09:51:31
asal
505 orang telah melayarinya

Dalam pembangunan web, format JSON adalah sangat biasa kerana ia boleh menghantar dan bertukar data antara bahasa pengaturcaraan yang berbeza. Bahasa PHP juga menyediakan kaedah pengekodan dan penyahkodan JSON yang sangat mudah, yang boleh menukar rentetan JSON kepada tatasusunan atau objek PHP, dan juga menukar tatasusunan atau objek PHP kepada rentetan JSON. Artikel ini akan memperkenalkan kaedah dalam PHP untuk menukar rentetan JSON kepada tatasusunan atau objek, dan seterusnya menukar tatasusunan atau objek kepada tatasusunan atau objek.

  1. Tukar JSON kepada Array

Gunakan fungsi json_decode() terbina dalam PHP untuk menukar rentetan berformat JSON kepada tatasusunan PHP. json_decode()Fungsi menerima dua parameter Parameter pertama ialah rentetan format JSON yang akan ditukarkan parameter adalah palsu, objek dikembalikan. Secara lalai parameter ini adalah palsu.

Berikut ialah contoh penggunaan fungsi json_decode() untuk menukar JSON kepada tatasusunan:

$jsonStr = '{"name":"Jack","age":20}';
$arr = json_decode($jsonStr, true);
print_r($arr);
Salin selepas log masuk

Kod di atas akan mengeluarkan tatasusunan yang diwakili oleh pasangan nilai kunci:

Array
(
    [name] => Jack
    [age] => 20
)
Salin selepas log masuk
  1. JSON ke objek

Jika anda tidak menentukan parameter kedua fungsi json_decode(), objek PHP akan dikembalikan. Sangat mudah untuk menggunakan fungsi json_decode() untuk menukar rentetan format JSON kepada objek PHP Anda hanya perlu menghantar rentetan format JSON.

Berikut ialah contoh menukar rentetan format JSON kepada objek PHP:

$jsonStr = '{"name":"Jack","age":20}';
$obj = json_decode($jsonStr);
var_dump($obj);
Salin selepas log masuk

Kod di atas akan mengeluarkan objek PHP:

object(stdClass)#1 (2) {
  ["name"]=>
  string(4) "Jack"
  ["age"]=>
  int(20)
}
Salin selepas log masuk
  1. Tukar tatasusunan kepada rentetan JSON

Gunakan fungsi json_encode() terbina dalam PHP untuk menukar tatasusunan PHP kepada rentetan JSON. Fungsi json_encode() menerima satu parameter, iaitu tatasusunan PHP yang akan ditukar Apabila menukar tatasusunan PHP kepada rentetan JSON, fungsi json_encode() akan menukar pasangan nilai kunci kepada pasangan nilai kunci dalam rentetan JSON secara automatik. .

Berikut ialah contoh menukar tatasusunan PHP kepada rentetan JSON:

$arr = array("name"=>"Jack", "age"=>20);
$jsonStr = json_encode($arr);
echo $jsonStr;
Salin selepas log masuk

Kod di atas akan mengeluarkan rentetan berikut dalam format JSON:

{"name":"Jack","age":20}
Salin selepas log masuk
  1. Tukar Objek kepada JSON String

Menukar objek PHP kepada JSON String juga sangat mudah menggunakan fungsi json_encode() terbina dalam. Sebelum penukaran, anda perlu menggunakan parameter lain bagi fungsi json_encode(), pemalar JSON_PRETTY_PRINT, yang digunakan untuk memformat rentetan JSON ke dalam format yang mudah dibaca dan lebih mesra manusia.

Berikut ialah contoh menukar objek PHP kepada rentetan JSON:

class Person {
    public $name;
    public $age;
    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}
$person = new Person("Jack", 20);
$jsonStr = json_encode($person, JSON_PRETTY_PRINT);
echo $jsonStr;
Salin selepas log masuk

Kod di atas akan mengeluarkan rentetan berformat JSON yang mudah dibaca berikut:

{
    "name": "Jack",
    "age": 20
}
Salin selepas log masuk
  1. Tukar objek tatasusunan antara satu sama lain

Untuk menukar tatasusunan yang mengandungi berbilang objek kepada rentetan dalam format JSON, anda boleh menggunakan fungsi json_encode(). Untuk menukar semula rentetan berformat JSON kepada objek tatasusunan PHP, anda boleh menggunakan fungsi json_decode(). Berikut ialah contoh menukar tatasusunan yang mengandungi berbilang objek ke dalam format JSON:

class Person {
    public $name;
    public $age;
    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}
$person1 = new Person("Jack", 20);
$person2 = new Person("Tom", 25);
$person3 = new Person("Lucy", 18);
$arr = array($person1, $person2, $person3);
$jsonStr = json_encode($arr, JSON_PRETTY_PRINT);
echo $jsonStr;
Salin selepas log masuk

Kod di atas akan mengeluarkan rentetan berikut dalam format JSON:

[
    {
        "name": "Jack",
        "age": 20
    },
    {
        "name": "Tom",
        "age": 25
    },
    {
        "name": "Lucy",
        "age": 18
    }
]
Salin selepas log masuk

Seterusnya Tukarkan a Rentetan berformat JSON yang mengandungi berbilang objek kembali ke objek tatasusunan PHP:

$jsonStr = '[{"name":"Jack","age":20},{"name":"Tom","age":25},{"name":"Lucy","age":18}]';
$arr = json_decode($jsonStr);
print_r($arr);
Salin selepas log masuk

Menjalankan kod di atas akan mengeluarkan objek tatasusunan PHP berikut:

Array
(
    [0] => stdClass Object
        (
            [name] => Jack
            [age] => 20
        )

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

    [2] => stdClass Object
        (
            [name] => Lucy
            [age] => 18
        )

)
Salin selepas log masuk

Disebabkan penggunaan json_decode() Parameter kedua fungsi tidak ditentukan, jadi tatasusunan objek PHP akan dikembalikan. Jika anda ingin menyahkod JSON kepada tatasusunan bersekutu PHP, anda perlu menetapkan parameter kedua kepada true.

Dalam artikel ini, kami memperkenalkan cara menukar rentetan berformat JSON kepada tatasusunan atau objek dalam PHP dan seterusnya menukar tatasusunan atau objek kepada rentetan JSON. Mempelajari ciri ini boleh membantu anda memproses data JSON dalam aplikasi web anda dengan lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk menukar objek tatasusunan dalam php json. 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