Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP melaksanakan penghuraian dan penjanaan JSON

PHP melaksanakan penghuraian dan penjanaan JSON

PHPz
PHPzasal
2023-06-18 18:18:112398semak imbas

PHP ialah bahasa pengaturcaraan sebelah pelayan yang sangat popular yang digunakan secara meluas dalam bidang pembangunan web. Dalam PHP, membaca dan menjana JSON ialah operasi biasa kerana JSON ialah format pertukaran data ringan yang boleh digunakan untuk menyimpan dan menghantar data. Dalam artikel ini, kami akan menerangkan cara menghuraikan dan menjana data JSON menggunakan PHP.

1. PHP menghuraikan JSON

1.1 Menghuraikan tatasusunan PHP ke JSON

Dalam PHP, jika kita mempunyai tatasusunan, kita boleh menukarnya menjadi rentetan JSON. Dalam contoh di bawah, kami mempunyai tatasusunan yang mengandungi nama, umur dan jantina.

<?php
$person = array(
    'name' => 'Tom',
    'age' => 30,
    'gender' => 'Male'
);

$json_string = json_encode($person);
echo $json_string;
?>

Menjalankan kod di atas akan mengeluarkan rentetan JSON berikut:

{"name":"Tom","age":30,"gender":"Male"}

Fungsi json_encode() menukar tatasusunan menjadi rentetan JSON. Seperti yang anda lihat, nama kunci dalam rentetan JSON akan ditulis dalam tanda petikan, kerana JSON memerlukan nama kunci mesti ditulis dalam tanda petikan.

1.2 Menghuraikan rentetan JSON

Dalam PHP, kita boleh menggunakan fungsi json_decode() untuk menukar rentetan JSON kepada objek atau tatasusunan PHP. Dalam contoh di bawah, kami mempunyai rentetan JSON yang mengandungi maklumat nama, umur dan jantina yang sama seperti di atas.

Menjalankan kod di atas akan mengeluarkan tatasusunan PHP berikut:

stdClass Object
(
    [name] => Tom
    [age] => 30
    [gender] => Male
)

Fungsi json_decode() menukar rentetan JSON kepada objek PHP dan json_decode() digunakan tanpa parameter kedua, objek stdClass dikembalikan secara lalai. Dalam contoh di atas, kami mencetak objek PHP dan anda boleh melihat bahawa objek PHP adalah sangat serupa dengan tatasusunan asal Perlu diingat bahawa jika anda perlu menukar kepada jenis tatasusunan PHP, anda boleh menggunakan parameter kedua json_decode. (), sebagai contoh:

Selepas menjalankan kod di atas, tatasusunan PHP berikut akan dikembalikan:

Array
(
    [name] => Tom
    [age] => 30
    [gender] => Male
)

2 PHP menjana JSON

Dalam PHP, kita boleh gunakan fungsi json_encode() untuk menukar tatasusunan PHP Tukar kepada rentetan JSON, seperti:

<?php
$person = array(
    'name' => 'Tom',
    'age' => 30,
    'gender' => 'Male'
);
$json_string = json_encode($person);
echo $json_string;
?>

Output:

{"name":"Tom","age":30,"gender":"Male"}

Dalam contoh di atas, kami menukar tatasusunan $person kepada JSON rentetan dan gunakan gema untuk mengeluarkan rentetan.

Apabila menjana JSON, anda perlu memberi perhatian kepada perkara berikut:

  • Nama utama dalam tatasusunan mestilah jenis rentetan, yang bermaksud integer, nombor titik terapung dan nilai boolean dalam PHP Jenis lain mesti ditukar kepada jenis rentetan dalam JSON
  • tatasusunan mesti menggunakan pengekodan UTF-8 dan pengekodan UTF-8 digunakan secara lalai dalam json_encode().

3. Kesimpulan

Dalam artikel ini, kami memperkenalkan asas penghuraian dan penjanaan JSON dalam PHP. Menggunakan fungsi json_decode() kita boleh menukar rentetan JSON kepada objek PHP, dan melalui fungsi json_encode() kita boleh menukar tatasusunan PHP kepada rentetan JSON, yang menjadikan operasi menyimpan dan menghantar data lebih mudah dan cekap. Pada masa yang sama, kita juga perlu memberi perhatian kepada beberapa butiran Sebagai contoh, apabila menjana JSON, kita perlu memberi perhatian kepada nama kunci dalam tatasusunan mestilah daripada jenis rentetan Apabila menghuraikan JSON, kita perlu memberi perhatian kepada sama ada format JSON adalah betul, dsb.

Atas ialah kandungan terperinci PHP melaksanakan penghuraian dan penjanaan JSON. 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