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 相关文章推荐
PHP&amp;MYSQL服务器配置说明
Oct 09 PHP
一些使用频率比较高的php函数
Oct 03 PHP
PHP 单引号与双引号的区别
Nov 24 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
PHP文件锁函数flock()详细介绍
Nov 18 PHP
php使用gzip压缩传输js和css文件的方法
Jul 29 PHP
PHP实现动态web服务器方法
Jul 29 PHP
学习php设计模式 php实现原型模式(prototype)
Dec 07 PHP
CodeIgniter配置之SESSION用法实例分析
Jan 19 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
Sep 29 PHP
laravel通用化的CURD的实现
Dec 13 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 之入门篇
2006/12/04 PHP
php eval函数用法总结
2012/10/31 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
JavaScript实现Flash炫光波动特效
2015/05/14 Javascript
原生js实现数字字母混合验证码的简单实例
2015/12/10 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
Javascript oop设计模式 面向对象编程简单实例介绍
2016/12/13 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
如何使用python代码操作git代码
2020/02/29 Python
python suds访问webservice服务实现
2020/06/26 Python
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
C语言面试题
2013/05/19 面试题
好的自荐信的要求
2013/10/30 职场文书
物业客服专员岗位职责
2013/11/30 职场文书
进口业务员岗位职责
2014/04/06 职场文书
质量整改报告范文
2014/11/08 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
2015年教务主任工作总结
2015/07/22 职场文书
导游词之台湾安平古堡
2019/12/25 职场文书
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS
Python日志模块logging用法
2022/06/05 Python