PHP操作JSON数据
JSON 是一个轻量级的文本数据交换格式,他比 XML 更小、更快,更易解析,所以在PHP开发过程中,我们经常会用它来传递数据,本文UncleToo将个大家介绍一下PHP如何操作JSON数据
PHP操作JSON数据一般在AJAX中用的比较多,可以将JSON格式的数据传给AJAX,也可以将AJAX返回的JSON数据解析成我们需要的字符串。在PHP中可以使用 json_decode() 函数来解析JSON格式数据,使用 json_encode() 函数将字符串(数组)生成JSON格式。
先看示例:
示例1:
Php代码
<?php $json = '{"a":1, "b":2, "c":3, "d":4, "e":5 }'; var_dump(json_decode($json)); echo "<br/>"; var_dump(json_decode($json,true)); ?>
输出:
object(stdClass)#1 (5) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) }
array(5) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) }
示例2:
Php代码
<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?>
输出:
{"a":1,"b":2,"c":3,"d":4,"e":5}
从示例1我们可以看到,用json_decode函数可以将JSON数据转换成数组,但是,如果JSON数据里又嵌套了JSON数据,那就不能直接这样写了,这里需要用自定义函数来实现将嵌套的JSON数据转换成数组。
示例:
Php代码
<?php function json_to_array($web){ $arr=array(); foreach($web as $k=>$w){ if(is_object($w)) $arr[$k]=json_to_array($w); //判断类型是不是object else $arr[$k]=$w; } return $arr; } ?>
调用示例:
Php代码
<?php $s='{"webname":"UncleToo","url":"www.uncletoo.com","menu":{"PHP":"1","DataBase":"2","Web":"3"}}'; $web=json_decode($s); $arr=json_to_array($web); print_r($arr); ?>
输出:
Array ( [webname] => UncleToo [url] => www.uncletoo.com [menu] => Array ( [PHP] => 1 [DataBase] => 2 [Web] => 3 ) )
以上就是PHP操作JSON数据的常用方法,大家如果有其他想法及方法可以跟UncleToo一起讨论。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat 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 perbezaan antara MySQL5.7 dan MySQL8.0?

Gabungan golang WebSocket dan JSON: merealisasikan penghantaran dan penghuraian data

Bagaimana untuk mengecualikan medan daripada JSON menggunakan anotasi @Expose dalam Java?

Petua pengoptimuman prestasi untuk menukar tatasusunan PHP kepada JSON

Gunakan fungsi json.MarshalIndent dalam golang untuk menukar struktur kepada rentetan JSON yang diformatkan

Tutorial penggunaan Panda: Permulaan pantas untuk membaca fail JSON

Bagaimanakah anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahsirilan JSON?

Cara mengendalikan format data XML dan JSON dalam pembangunan C#
