Dalam bab ini kami akan memperkenalkan cara menggunakan bahasa PHP untuk mengekod dan menyahkod objek JSON.
Konfigurasi persekitaran
Pelanjutan JSON telah terbina dalam dalam php5.2.0 dan ke atas.
Fungsi JSON
Fungsi 🎜>json_decode Nyahkod rentetan dalam format JSON dan tukarkannya kepada pembolehubah PHP
json_last_error Kembalikan ralat terakhir yang berlaku
Spesifikasi JSON
1) Data selari dipisahkan dengan koma (", "). 2) Pemetaan diwakili oleh titik bertindih (": ").
3) Pengumpulan (tatasusunan) data selari diwakili oleh kurungan segi empat sama ("[]").4) Koleksi yang dipetakan (objek) diwakili oleh kurungan kerinting ("{}").
json_encodePHP json_encode() digunakan untuk mengekod pembolehubah JSON Fungsi ini mengembalikan data JSON jika berjaya dilaksanakan, jika tidak ia mengembalikan FALSE. Sintaks
rentetan json_encode ( $value [, $options = 0 ] )
Parameter
1. nilai: nilai untuk mengekod. Fungsi ini hanya sah untuk data yang dikodkan UTF-8.
2. Pilihan: Topeng binari yang terdiri daripada pemalar berikut: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES <🎜Ekstrak <🎜 🎜>Contoh berikut menunjukkan Ketahui cara menukar tatasusunan PHP kepada data format JSON:
<?php $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); echo json_encode($arr); ?>
<?php class Emp { public $name = ""; public $hobbies = ""; public $birthdate = ""; } $e = new Emp(); $e->name = "sachin"; $e->hobbies = "sports"; $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p"); $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03")); echo json_encode($e); ?>Di atas pelaksanaan kod Hasilnya ialah:
{"name":"sachin","hobi":"sukan","birthdate":"08/05/1974 12:20:03 pm"}
json_decode
Sintaks
Parameter
1 json_string: Rentetan JSON untuk dinyahkod, mestilah data yang dikodkan UTF-82. Apabila parameter ini BENAR, tatasusunan akan dikembalikan , mengembalikan objek apabila FALSE. 3. Kedalaman: parameter jenis integer, yang menentukan kedalaman rekursi4 pilihan: Topeng binari, pada masa ini hanya menyokong JSON_BIGINT_AS_STRING.
Contoh
Contoh berikut menunjukkan cara menyahkod data JSON:
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?>
Hasil pelaksanaan kod di atas ialah:
objek( stdClass)#1 (5) {
["a"] => int(1)
["b"] => (3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
[ "a "] => int(1)
["b"] => ["c"] => > int(4)
["e"] =>bahagian seterusnya