Rumah >pembangunan bahagian belakang >tutorial php >Pengekodan dan penyahkodan JSON dalam PHP (contoh terperinci)
Dalam artikel sebelumnya "Ajar anda cara menukar tatasusunan dan rentetan dalam PHP dalam masa lima minit" kami memperkenalkan secara terperinci pengetahuan yang berkaitan tentang menukar tatasusunan dan rentetan dalam PHP Artikel ini Dalam artikel ini, mari lihat pengetahuan JSON yang berkaitan dalam PHP saya harap ia akan membantu semua orang!
Dalam artikel sebelumnya, kami mempelajari cara melengkapkan penukaran antara tatasusunan dan rentetan dalam PHP, yang memerlukan fungsi explode()
dan Fungsi implode()
untuk dilaksanakan, seterusnya kita perlu memahami sedikit pengetahuan tentang JSON dan melihat cara PHP JSON mengekod pembolehubah.
Jika anda ingin mengekod pembolehubah dalam JSON dengan PHP, mula-mula kita perlu memahami apa itu JSON. Mari kita lihat bersama-sama.
Apakah itu JSON
JSON digunakan terutamanya untuk menghantar data Ia adalah format pertukaran data ringan yang boleh sepenuhnya Bahasa pengaturcaraan berbeza daripada PHP untuk menyimpan dan mewakili data.
Ia agak mudah dibaca dan ditulis Pada masa yang sama, JSON agak mudah untuk penghuraian dan penjanaan mesin dengan berkesan.
Kami sudah mempunyai sambungan JSON terbina dalam dalam PHP Seterusnya, mari kita lihat fungsi JSON dalam PHP dan cara menggunakan bahasa PHP untuk mengekod objek JSON.
<strong><span style="font-size: 20px;">json_encode()</span></strong>
json_encode()
JSON encoding
json_encode()
string json_encode ( $value [, $options = 0 ] )
dalam PHP digunakan untuk mengekod pembolehubah JSON Format sintaks asas fungsi ini adalah seperti berikut: json_encode()
Perlu diambil perhatian bahawa jika fungsi $value
berjaya dijalankan, ia akan. dipulangkan Hasilnya ialah data JSON. Jika terdapat ralat jalankan, hasil yang dikembalikan adalah palsu; parameter options
JSON_HEX_QUOT
mewakili nilai yang perlu dikodkan ia hanya mempunyai pengekodan UTF-8 Data adalah sah untuk fungsi ini Parameter JSON_HEX_TAG
mewakili topeng binari yang terdiri daripada pemalar ini ialah: JSON_HEX_AMP
, JSON_HEX_APOS
, JSON_NUMERIC_CHECK
, <.>, JSON_PRETTY_PRINT
, JSON_UNESCAPED_SLASHES
, JSON_FORCE_OBJECT
.
Seterusnya, mari kita lihat penggunaan fungsi json_encode() dalam PHP melalui contoh, iaitu menukar elemen tatasusunan PHP ke dalam data format JSON Contohnya seperti berikut:
<?php $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); echo json_encode($arr); $arr1 = array('一' => 1, '二' => 2, '三' => 3, '四' => 4, '五' => 5); echo json_encode($arr1); ?>
Hasil Output:
Daripada contoh di atas kita dapat melihat bahawa json_encode() boleh menukar elemen tatasusunan PHP kepada data yang sesuai JSON, dan hanya UTF-8 The data yang dikodkan adalah sah untuk fungsi ini.
Contoh di atas menukar tatasusunan satu dimensi dalam PHP Seterusnya, mari kita lihat hasil penukaran tatasusunan berbilang dimensi Contohnya adalah seperti berikut:
<?php $arr_2 = array(); // 三维数组 $arr_2['member']['lisi']['job'] = "worker"; $arr_2['member']['lisi']['age'] = 30; $arr_2['member']['wangwu']['job'] = "student"; $arr_2['member']['wangwu']['age'] = 10; echo json_encode($arr_2); //{"member":{"lisi":{"job":"worker","age":30},"wangwu":{"job":"student","age":10}}} ?>
Output hasil:
Contoh di atas adalah untuk menukar elemen tatasusunan dalam PHP melalui fungsi Seterusnya, mari kita lihat menukar objek PHP kepada data dalam format JSON contoh adalah seperti berikut:
<?php class Person{ public $name = "public name"; protected $ptName = "protected name"; private $pName = "private name"; public function sayName(){ return $this->name; } } $person1 = new Person(); echo json_encode($person1);//{"name":"public name"} ?>
Hasil keluaran:
Mari kita lihat contoh lain:
<?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); ?>
Hasil keluaran:
Daripada ini kami melengkapkan penukaran objek dalam PHP ke dalam format JSON melalui fungsi json_encode().
<strong><span style="font-size: 20px;">json_decode()</span></strong>
json_decode()
json_decode()
mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])Dalam PHP, anda boleh menggunakan fungsi
untuk menukar aksara dalam format JSON ke dalam format pembolehubah PHP, iaitu penyahkodan. Mari kita lihat format sintaks asas bagi fungsi json_decode() Contohnya adalah seperti berikut: json_string
json_encode
mewakili rentetan format JSON yang perlu. ditukar, iaitu, dinyahkod Seperti fungsi options
(), data yang dinyahkod juga mestilah data yang dikodkan UTF-8 bermakna apabila parameter itu benar, hasil yang dikembalikan ialah tatasusunan dan apabila parameter adalah palsu, hasil yang dikembalikan ialah objek; json_encode
JSON_BIGINT_AS_STRING
Kedalaman parameter mewakili parameter jenis integer, dan parameter
(), pada masa ini fungsi ini tidak menyokong begitu banyak, dan pada masa ini hanya menyokong
.<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?>
Seterusnya mari kita ambil contoh untuk melihat bagaimana PHP menyahkodnya contohnya:
通过上述示例我们看到了通过json_decode()对JSON进行解码,上述是解码成数组,下面我们看一下解码成对象,示例如下:
<?php $jsonStr = '{"key1":"value1","key2":"value2"}'; print_r(json_decode($jsonStr,false));//stdClass Object ( [key1] => value1 [key2] => value2 ?>
输出结果:
由此我们便通过json_encode()函数与json_decode()函数完成了PHP数据与JSON的编码与解码。
大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。
Atas ialah kandungan terperinci Pengekodan dan penyahkodan JSON dalam PHP (contoh terperinci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!