


Bagaimana untuk menukar tatasusunan menjadi data json dalam php
Apr 26, 2023 pm 02:35 PMPHP ialah bahasa skrip sebelah pelayan yang digunakan secara meluas yang biasa digunakan dalam pembangunan tapak web, penjanaan halaman web dinamik dan pembangunan aplikasi web. Dalam pembangunan banyak aplikasi, penghantaran data adalah bahagian yang sangat penting, dan JSON ialah format pertukaran data ringan yang digunakan secara meluas kerana kesederhanaan, kemudahan penggunaan dan kebolehskalaannya. Dalam PHP, kita boleh menggunakan fungsi terbina dalam untuk menukar tatasusunan kepada format JSON.
- fungsi json_encode()
fungsi json_encode() ialah kaedah paling asas dalam PHP untuk menukar tatasusunan kepada format JSON. Sebagai fungsi terbina dalam, penggunaannya sangat mudah Anda hanya perlu menghantar dalam tatasusunan untuk ditukar sebagai parameter. Sebagai contoh, kami mempunyai tatasusunan berikut:
$data = array( 'name' => 'John', 'age' => 20, 'gender' => 'male' );
Kita boleh menggunakan kod berikut untuk menukar tatasusunan kepada format JSON:
$json_data = json_encode($data);
Selepas penukaran, $json_data akan kelihatan seperti ini Rentetan JSON:
{ "name": "John", "age": 20, "gender": "male" }
Perlu diambil perhatian bahawa fungsi json_encode() akan melepaskan aksara bukan ASCII ke dalam pengekodan Unicode secara lalai Jika anda perlu menjana rentetan JSON yang dikodkan ASCII, anda perlu melakukannya tambahkannya dalam fungsi Tambah parameter JSON_UNESCAPED_UNICODE.
$json_data = json_encode($data, JSON_UNESCAPED_UNICODE);
- Menyokong fungsi json_encode() JSONP
Dalam sesetengah kes, kita perlu mendapatkan data JSON melalui kaedah merentas domain dan JSONP ialah data JSON yang dibenarkan format untuk permintaan merentas domain. Dalam PHP, kita boleh menggunakan fungsi json_encode() untuk menjana data JSON yang menyokong JSONP. Untuk data JSON yang menyokong JSONP, nama fungsi panggil balik perlu dihantar sebagai parameter kedua bagi fungsi json_encode(). Contohnya:
$data = array( 'name' => 'John', 'age' => 20, 'gender' => 'male' ); $callback = $_GET['callback']; $json_data = json_encode($data); echo $callback . '(' . $json_data . ')';
Kod ini akan menjana data dalam format berikut:
callback_name({ "name": "John", "age": 20, "gender": "male" })
Apabila kami meminta data JSON menggunakan kaedah silang domain, nama fungsi panggil balik akan berada dalam data tindak balas dipanggil.
- fungsi json_decode()
fungsi json_decode() ialah fungsi yang menukar data format JSON kepada tatasusunan PHP. Tidak seperti fungsi json_encode(), json_decode() memerlukan dua parameter: rentetan JSON dan parameter pilihan $assoc. Apabila $assoc adalah benar, fungsi akan menukar rentetan JSON kepada tatasusunan bersekutu PHP, jika tidak, ia akan ditukar menjadi objek PHP. Contohnya:
$json_data = '{ "name": "John", "age": 20, "gender": "male" }'; $data = json_decode($json_data, true); var_dump($data);
Selepas penukaran, $data akan menjadi tatasusunan dalam format berikut:
array(3) { ["name"]=> string(4) "John" ["age"]=> int(20) ["gender"]=> string(4) "male" }
Perlu diambil perhatian bahawa jika rentetan JSON tidak mematuhi JSON format atau pengekodan tidak betul Ralat, fungsi json_decode() akan mengembalikan nilai nol.
Akhir sekali, perlu dinyatakan bahawa walaupun fungsi json_encode() dan json_decode() menyediakan kaedah yang mudah untuk menukar tatasusunan dan data format JSON dalam PHP, anda juga perlu memberi perhatian kepada isu keselamatan data. Semasa penghantaran data, data perlu ditapis dan disahkan dengan selamat untuk mengelakkan serangan berniat jahat dan kebocoran data.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan menjadi data json dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah amalan terbaik untuk deduplikasi tatasusunan php

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama?

Apakah piawaian pengekodan PHP terkini dan amalan terbaik?

Bagaimana saya bekerja dengan sambungan php dan pecl?

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP?

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi?

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP?
