Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengekodan dan penyahkodan JSON dalam PHP (contoh terperinci)

Pengekodan dan penyahkodan JSON dalam PHP (contoh terperinci)

WBOY
WBOYasal
2021-11-04 10:46:565313semak imbas

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!

Pengekodan dan penyahkodan JSON dalam PHP (contoh terperinci)

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 optionsJSON_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(&#39;a&#39; => 1, &#39;b&#39; => 2, &#39;c&#39; => 3, &#39;d&#39; => 4, &#39;e&#39; => 5);
   echo json_encode($arr);
   $arr1 = array(&#39;一&#39; => 1, &#39;二&#39; => 2, &#39;三&#39; => 3, &#39;四&#39; => 4, &#39;五&#39; => 5);
   echo json_encode($arr1);
?>

Hasil Output:

Pengekodan dan penyahkodan JSON dalam PHP (contoh terperinci)

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[&#39;member&#39;][&#39;lisi&#39;][&#39;job&#39;] = "worker";
$arr_2[&#39;member&#39;][&#39;lisi&#39;][&#39;age&#39;] = 30;
$arr_2[&#39;member&#39;][&#39;wangwu&#39;][&#39;job&#39;] = "student";
$arr_2[&#39;member&#39;][&#39;wangwu&#39;][&#39;age&#39;] = 10;
 
echo json_encode($arr_2);
//{"member":{"lisi":{"job":"worker","age":30},"wangwu":{"job":"student","age":10}}}
  ?>

Output hasil:

Pengekodan dan penyahkodan JSON dalam PHP (contoh terperinci)

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:

Pengekodan dan penyahkodan JSON dalam PHP (contoh terperinci)

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(&#39;m/d/Y h:i:s a&#39;, "8/5/1974 12:20:03 p");
   $e->birthdate = date(&#39;m/d/Y h:i:s a&#39;, strtotime("8/5/1974 12:20:03"));
 
   echo json_encode($e);
?>

Hasil keluaran:

Pengekodan dan penyahkodan JSON dalam PHP (contoh terperinci)

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 penyahkodan

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_stringjson_encode

Perlu diambil perhatian bahawa parameter

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_encodeJSON_BIGINT_AS_STRINGKedalaman parameter mewakili parameter jenis integer, dan parameter

mewakili topeng binari Berbeza daripada

(), pada masa ini fungsi ini tidak menyokong begitu banyak, dan pada masa ini hanya menyokong

.
<?php
   $json = &#39;{"a":1,"b":2,"c":3,"d":4,"e":5}&#39;;
   var_dump(json_decode($json));
   var_dump(json_decode($json, true));
?>

Seterusnya mari kita ambil contoh untuk melihat bagaimana PHP menyahkodnya contohnya:

Hasil keluaran:

Pengekodan dan penyahkodan JSON dalam PHP (contoh terperinci)

通过上述示例我们看到了通过json_decode()对JSON进行解码,上述是解码成数组,下面我们看一下解码成对象,示例如下:

<?php
$jsonStr = &#39;{"key1":"value1","key2":"value2"}&#39;;
print_r(json_decode($jsonStr,false));//stdClass Object ( [key1] => value1 [key2] => value2
?>

输出结果:

Pengekodan dan penyahkodan JSON dalam PHP (contoh terperinci)

由此我们便通过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!

Kenyataan:
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