PHP针对JSON操作实例分析


Posted in PHP onJanuary 12, 2015

本文实例分析了PHP针对JSON操作。分享给大家供大家参考。具体分析如下:

由于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":"www.homehf.com","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":"www.homehf.com","contact":{"qq":"123456789","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';

$web=json_decode($s);

echo json_encode($web);

?>

二 .PHP JSON 转数组

<?php

$s='{"webname":"homehf","url":"www.homehf.com","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":"www.homehf.com","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程序设计有所帮助。

PHP 相关文章推荐
一个用php3编写的简单计数器
Oct 09 PHP
PHP+DBM的同学录程序(5)
Oct 09 PHP
php读取xml实例代码
Jan 28 PHP
PHP XML操作的各种方法解析(比较详细)
Jun 17 PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 PHP
如何用php获取程序执行的时间
Jun 09 PHP
php+js iframe实现上传头像界面无跳转
Apr 29 PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 PHP
10款实用的PHP开源工具
Oct 23 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
PHP 7.0新增加的特性介绍
Jun 08 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
php页面缓存方法小结
Jan 10 #PHP
php中异常处理方法小结
Jan 09 #PHP
PHP中浮点数计算比较及取整不准确的解决方法
Jan 09 #PHP
php模拟登陆的实现方法分析
Jan 09 #PHP
php获取四位字母和数字的随机数的实现方法
Jan 09 #PHP
php实现读取手机客户端浏览器的类
Jan 09 #PHP
ucenter通信原理分析
Jan 09 #PHP
You might like
php通用防注入程序 推荐
2011/02/26 PHP
PHP获取QQ达人QQ信息的方法
2015/03/05 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
jquery 可拖拽的窗体控件实现代码
2010/03/21 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
2012/02/16 Javascript
JavaScript中的细节分析
2012/06/30 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
用Python实现换行符转换的脚本的教程
2015/04/16 Python
详解python中的 is 操作符
2017/12/26 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
Python如何绘制日历图和热力图
2020/08/07 Python
有原因的手表:Flex Watches
2019/03/23 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
个人素质的自我评价分享
2013/12/16 职场文书
教师简历自我评价
2014/02/03 职场文书
内刊编辑求职自荐书范文
2014/02/19 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
五年级学生评语大全
2014/12/26 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
2016年社区党支部公开承诺书
2016/03/25 职场文书
python基础之爬虫入门
2021/05/10 Python