Rumah > pembangunan bahagian belakang > masalah PHP > Penjelasan terperinci tentang cara menukar data ke format json dalam php

Penjelasan terperinci tentang cara menukar data ke format json dalam php

PHPz
Lepaskan: 2023-04-04 21:42:01
asal
2888 orang telah melayarinya

Dengan perkembangan pesat teknologi Internet, semakin banyak laman web dan aplikasi menggunakan teknologi ajax untuk merealisasikan interaksi data dengan pelayan. Sebagai salah satu format pertukaran data yang paling biasa digunakan, json telah menjadi pilihan pertama banyak pembangun. Bagaimana untuk menukar data ke dalam format json dalam php, inilah yang akan diperkenalkan oleh artikel ini.

1. Pengenalan kepada format json

Json bermaksud Notasi Objek JavaScript Ia adalah format data ringan yang mudah dibaca dan ditulis. Ia berdasarkan subset bahasa JavaScript dan oleh itu boleh disokong oleh pelbagai bahasa. Berbanding dengan format xml, format json lebih ringkas, ringan dan mempunyai kelajuan penghuraian yang lebih tinggi. Dalam aplikasi web, json digunakan secara meluas dalam interaksi data, seperti permintaan ajax, antara muka API, dll.

2. PHP ke fungsi json

Dalam PHP, anda boleh menggunakan fungsi json_encode() untuk menukar data kepada format json. Fungsi ini boleh menukar mana-mana jenis data php ke dalam format json. Contohnya:

$data = array(
    'name' => 'Tom',
    'age'  => 20,
    'sex'  => 'Male'
);

$json = json_encode($data);
echo $json;
Salin selepas log masuk

Dalam contoh di atas, kami mentakrifkan tatasusunan $data, yang mengandungi medan nama, umur dan jantina. Kemudian gunakan fungsi json_encode() untuk menukar tatasusunan menjadi rentetan json dan menyimpannya dalam pembolehubah $json. Akhirnya, rentetan dikeluarkan melalui pernyataan gema. Hasil output adalah seperti berikut:

{"name":"Tom","age":20,"sex":"Male"}
Salin selepas log masuk

3 Tukar hasil permintaan ke dalam format json

Dalam aplikasi praktikal, kita biasanya perlu menukar hasil yang dikembalikan oleh pelayan ke dalam format json. memudahkan penghuraian dan proses pelanggan. Sebagai contoh, bagaimana untuk menukar hasil pertanyaan pangkalan data ke dalam format json dalam php?

Andaikan kita perlu menanyakan data jadual pelajar Hasil pertanyaan adalah seperti berikut:

+----+--------+------+------+--------+
| id | name   | age  | sex  | grades |
+----+--------+------+------+--------+
|  1 | Tom    |   20 | Male |     85 |
|  2 | Jack   |   18 | Male |     92 |
|  3 | Alice  |   19 | Female |     78 |
+----+--------+------+------+--------+
Salin selepas log masuk

Kita boleh menggunakan sambungan mysqli php untuk melaksanakan operasi pertanyaan, contohnya:

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM students";
$result = $conn->query($sql);
Salin selepas log masuk

Kemudian kita perlu menukar hasil pertanyaan kepada format json Anda boleh menggunakan kaedah berikut:

$rows = array();
while ($row = $result->fetch_assoc()) {
    $rows[] = $row;
}

$json = json_encode($rows);
echo $json;
Salin selepas log masuk

Antaranya, $result ialah objek set hasil pertanyaan kaedah fetch_assoc(), anda boleh memanggil deretan hasil pertanyaan untuk ditukar kepada tatasusunan bersekutu. Kemudian kita boleh menyimpan tatasusunan bersekutu setiap baris ke dalam tatasusunan $rows, dan akhirnya menukar tatasusunan $rows menjadi rentetan json melalui fungsi json_encode() dan mengeluarkannya kepada klien.

Hasil output adalah seperti berikut:

[
    {
        "id": "1",
        "name": "Tom",
        "age": "20",
        "sex": "Male",
        "grades": "85"
    },
    {
        "id": "2",
        "name": "Jack",
        "age": "18",
        "sex": "Male",
        "grades": "92"
    },
    {
        "id": "3",
        "name": "Alice",
        "age": "19",
        "sex": "Female",
        "grades": "78"
    }
]
Salin selepas log masuk

4 Nota

Walaupun fungsi json_encode() ialah fungsi terbina dalam PHP, anda perlu membayar. perhatian kepada perkara berikut apabila menggunakan fungsi ini Points:

  1. Fungsi ini memerlukan sokongan versi php5 atau lebih tinggi
  2. Jika rentetan json anda mengandungi aksara Cina, ia tidak akan dipaparkan seperti biasa. Ini boleh diselesaikan dengan menambahkan parameter JSON_UNESCAPED_UNICODE.
  3. Jika data anda mempunyai aksara khas seperti pemisah baris dan tab, anda perlu menggunakan parameter JSON_PRETTY_PRINT untuk mencantikkan format json.

5. Ringkasan

php ialah bahasa skrip bahagian pelayan yang sangat popular Dalam proses interaksi data, adalah lebih mudah untuk menggunakan format json untuk menghantar data. Sama ada anda mendapat data daripada pangkalan data atau menerima permintaan pelanggan, anda boleh menggunakan fungsi json_encode() untuk menukar data ke dalam format json untuk memudahkan penghuraian dan pemprosesan klien. Dalam aplikasi, kita perlu memberi perhatian kepada isu seperti penetapan set aksara keluaran dan pelarian aksara khas untuk memastikan kebolehpercayaan dan ketepatan data.

Atas ialah kandungan terperinci Penjelasan terperinci tentang cara menukar data ke format json 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