JSON

PHP浅析JSON操作示例

字号+ 作者:H5之家 来源:H5之家 2016-12-30 16:05 我要评论( )

三零网提供网络编程、 PHP编程 的技术文章PHP浅析JSON操作示例给大家,希望大家喜欢,关键词PHP浅析JSON操作示例

本文为大家带来一篇 PHP浅析JSON操作示例。希望对您的学习研究PHP有帮助。 

由于JSON可以在很多种程序语言中使用,所以我们可以用来做小型数据中转,如:PHP输出JSON字符串供JavaScript使用等。在PHP中可以使用 json_decode() 由一串规范的字符串解析出 JSON对象,使用 json_encode() 由JSON 对象生成一串规范的字符串。

例:

<?php
$json = '{"a":1, "b":2, "c":3, "d":4, "e":5 }';
var_dump(json_decode($json));
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)
}

 

$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,一般用在接收到Javascript 发送的数据时会用到。

<?php
$s='{"webname":"homehf","url":"","contact":{"qq":"123456789","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
echo '网站名称:'.$web->webname.'<br />网址:'.$web->url.'<br />联系方式:QQ-'.$web->contact->qq.' MAIL:'.$web->contact->mail;
?>

上面的例子中,我们首先定义了一个变量s,然后用json_decode()解析成JSON对象,之后可以按照JSON的方式去使用,从使用情况看,JSON和XML以及数组实现的功能类似,都可以存储一些相互之间存在关系的数据,但是个人觉得JSON更容易使用,且可以使用JSON和JavaScript实现数据共享。

2. json_encode(),JSON转字符,这个一般在AJAX 应用中,为了将JSON对象转化成字符串并输出给 Javascript 时会用到,而向数据库中存储时也会用到。

<?php
$s='{"webname":"homehf","url":"","contact":{"qq":"123456789","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
echo json_encode($web);
?>

二 .PHP JSON 转数组

<?php
$s='{"webname":"homehf","url":"","qq":"123456789"}';
$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":"","contact":{"qq":"123456789","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;
}
?>

上面就是 PHP浅析JSON操作示例的内容,希望已经解决你的问题。有兴趣的可以继续浏览一下以下的内容。


延伸阅读:
·php递归json类分享
·PHP解决json_encode函数不转义中文的问题
·php浅析 json转换数组形式示例
·php解决json_encode设置为UTF-8编码出现中文乱码
·php浅析json_encode()函数用法
·PHP浅析JSON字符串的key缺少双引号的问题
·PHP生成JSON出错:Cannot use object of type stdClass as array
·PHP解决常规模板引擎与CSS/JSON冲突问题
·php解析json数据的方法分享
·php解决json_encode处理gbk、gb2312的中文乱码问题
·PHP浅析BOM、《feff》编码导致json_decode函数无法解析的问题
·php5.2以下版本通过自定义函数实现json_decode函数功能
·php5.2解决Json不能正确处理中文编码的问题
·PHP浅析json_decode函数
·PHP浅析JSON使用技巧

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 在application/json,application/javascript等Response下进行XSS

    在application/json,application/javascript等Response下进行XSS

    2016-12-30 18:01

  • 定制JSON中的浮点数格式

    定制JSON中的浮点数格式

    2016-12-30 09:01

  • json显示日期带T问题的解决方法

    json显示日期带T问题的解决方法

    2016-12-30 09:00

  • PHP返回JSON、XML的类

    PHP返回JSON、XML的类

    2016-12-28 12:00

网友点评