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 相关文章推荐
使用apache模块rewrite_module (转)
Feb 14 PHP
php 删除cookie和浏览器重定向
Mar 16 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
Dec 28 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 PHP
php mb_substr()函数截取中文字符串应用示例
Jul 29 PHP
PHP中比较时间大小实例
Aug 21 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
Sep 10 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
Oct 01 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
Jul 14 PHP
超强多功能php绿色集成环境详解
Jan 25 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
Mar 10 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 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
windows下apache搭建php开发环境
2015/08/27 PHP
PHP 闭包详解及实例代码
2016/09/28 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
jQuery自动添加表单项的方法
2015/07/13 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
django+js+ajax实现刷新页面的方法
2017/05/22 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
2019/01/08 Python
python实现蒙特卡罗方法教程
2019/01/28 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
Puppeteer使用示例详解
2019/06/20 Python
python实现列表的排序方法分享
2019/07/01 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
wxPython多个窗口的基本结构
2019/11/19 Python
Python遍历字典方式就实例详解
2019/12/28 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
python中Django文件上传方法详解
2020/08/05 Python
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
毕业生造价工程师求职信
2013/10/17 职场文书
模具专业推荐信
2013/10/30 职场文书
校园报刊亭创业计划书
2014/01/02 职场文书
什么样的创业计划书可行性高?
2014/02/01 职场文书
个人贷款担保书
2014/04/01 职场文书
党的群众路线教育实践活动对照检查材料范文
2014/09/24 职场文书
2016年母亲节寄语
2015/12/04 职场文书
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/07 PostgreSQL