全球实现–与json之间的相互转换
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
全球实现–与json之间的相互转换:
相关函数请查看php手册。
一,参考–如下
<?– version=“1.0” encoding=“UTF-8”?>
<humans>
<zhangying>
<name>张三</name>
<sex>男</sex>
<old>26</old>
</zhangying>
<tank>
<name>tank</name>
<sex>
<hao>yes</hao>
<aaaa>no</aaaa>
</sex>
<old>26</old>
</tank>
</humans>
二,–转换成json
利用simple–
public function –_to_json($source) {
if(is_file($source)){ //传的是文件,还是–的string的判断
$–_array=simple–_load_file($source);
}else{
$–_array=simple–_load_string($source);
}
$json = json_encode($–_array); //php5,以及以上,如果是更早版本,请查看JSON.php
return $json;
}
三,json转换成–
利用递归函数
public function json_to_–($source,$charset='utf8‘) {
if(empty($source)){
return false;
}
//php5,以及以上,如果是更早版本,请查看JSON.php
$array = json_decode($source);
$– ='';
$– .= $this->change($array);
return $–;
}
public function change($source) {
$string=“”;
foreach($source as $k=>$v){
$string .=“<”.$k.“>”;
//判断是否是数组,或者,对像
if(is_array($v) || is_object($v)){
//是数组或者对像就的递归调用
$string .= $this->change($v);
}else{
//取得标签数据
$string .=$v;
}
$string .=“”;
}
return $string;
}
上面的方法json_to_–,可以支持<name>aaaa</name>,不支持<name type='test'>aaaaa</name>看代码就能看明白。
height=14 src="/wp-content/uploads/20121120/1044340.gif" width=14
border=0>
【责编:ivy】