JSON是很优秀的数据交换语言,在很多语言中都可以使用,那么我们web开发中最常用到的就是JavaScript与服务器端语言的交互,本文主要介绍在PHP中如何将JSON转成数组,而PHP解析JSON的两个函数:json_decode()和json_encode(),在“
PHP JSON使用”文章中已经介绍过,所以本文就不再多说了。
<?php
$s='{"webname":"homehf","url":"www.homehf.com","qq":"744348666"}';
$web=json_decode($s); //将字符转成JSON
$arr=array();
foreach($web as $k=>$w) $arr[$k]=$w;
print_r($arr);
?>
上面的代码中,已经将一个JSON对象转成了一个数组,可是如果是嵌套的JSON,上面的代码显然无能为力了,那么我们写一个函数解决嵌套JSON,
<?php
$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
$arr=json_to_array($web);
print_r($arr);
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;
}
?>
我们自定义的json_to_array()方法可以将任何嵌套的JSON转成数组