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

Bagaimana untuk menukar tatasusunan menjadi data json dalam php

PHPz
Lepaskan: 2023-04-26 14:38:01
asal
804 orang telah melayarinya

PHP 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.

  1. 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'
);
Salin selepas log masuk

Kita boleh menggunakan kod berikut untuk menukar tatasusunan kepada format JSON:

$json_data = json_encode($data);
Salin selepas log masuk

Selepas penukaran, $json_data akan kelihatan seperti ini Rentetan JSON:

{
    "name": "John",
    "age": 20,
    "gender": "male"
}
Salin selepas log masuk

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);
Salin selepas log masuk
  1. 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 . ')';
Salin selepas log masuk

Kod ini akan menjana data dalam format berikut:

callback_name({
    "name": "John",
    "age": 20,
    "gender": "male"
})
Salin selepas log masuk

Apabila kami meminta data JSON menggunakan kaedah silang domain, nama fungsi panggil balik akan berada dalam data tindak balas dipanggil.

  1. 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);
Salin selepas log masuk

Selepas penukaran, $data akan menjadi tatasusunan dalam format berikut:

array(3) {
  ["name"]=>
  string(4) "John"
  ["age"]=>
  int(20)
  ["gender"]=>
  string(4) "male"
}
Salin selepas log masuk

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!

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