浅析PHP中json_encode与json_decode的区别


Posted in PHP onJuly 15, 2020

浅析PHP中json_encode与json_decode的区别

一、json_encode() 对变量进行JSON编码

  • 语法:json_encode($value[,$options=0])
  • 注意:  1、$value为要编码的值,且该函数只对UTF8编码的数据有效;
                 2、options:由以下常量组成的二进制掩码:JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP,

    JSON_HEX_APOS,JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT;

       3、第二个参数一般不需要;

       4、json数据其实就是一个string,可以用var_dump()打印出来看数据类型;

       5、执行成功返回JSON数据,否则返回FALSE。

     

示例:

$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
$json = json_encode($book);
echo $json;

浏览器打印出的结果如下:

{"a":"xiyouji","b":"sanguo","c":"shuihu","d":"hongloumeng"}

二、json_decode() 对JSON数据进行解码,转换为PHP变量

  • 语法:json_decode($json[,$assoc=false[,$depth=512[,$options=0]]])
  • 注意:1、$json 为待解码的数据,必须为utf8编码的数据;

     2、$assoc 值为TRUE时返回数组,FALSE时返回对象;

     3、$depth 为递归深度;

     4、$option二进制掩码,目前只支持 JSON_BIGINT_AS_STRING;

     5、一般只用前面两个参数,如果要数据类型的数据要加一个参数true。

示例:

$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
  $json = json_encode($book);
  
  $array = json_decode($json,TRUE);
  $obj = json_decode($json);
  var_dump($array);
  var_dump($obj);

浏览器打印出的结果如下:

array(4) { ["a"]=> string(7) "xiyouji" ["b"]=> string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=> string(11) "hongloumeng" }
object(stdClass)#2 (4) { ["a"]=> string(7) "xiyouji" ["b"]=> string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=> string(11) "hongloumeng" }

两个结果看起来没多大区别,但调用里面的元素时,array和obj的方式是不同的。

$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
  $json = json_encode($book);
  
  $array = json_decode($json,TRUE);
  $obj = json_decode($json);
  var_dump($array['b']);//调用数组元素
  echo '<br/>';
  var_dump($obj->c);//调用对象元素

 打印结果如下:

string(6) "sanguo" string(6) "shuihu"

到此这篇关于浅析PHP中json_encode与json_decode的区别的文章就介绍到这了,更多相关PHP json_encode与json_decode内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
表单复选框向PHP传输数据的代码
Nov 13 PHP
php whois查询API制作方法
Jun 23 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
yii中widget的用法
Dec 03 PHP
PHP中的命名空间相关概念浅析
Jan 22 PHP
php商品对比功能代码分享
Sep 24 PHP
Docker 如何布置PHP开发环境
Jun 21 PHP
php微信公众号开发(3)php实现简单微信文本通讯
Dec 15 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
PHP设计模式之单例模式定义与用法分析
Mar 26 PHP
PHP数组基本用法与知识点总结
Jun 02 PHP
PHP加MySQL消息队列深入理解
Feb 27 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 #PHP
PHP number_format函数原理及实例解析
Jul 14 #PHP
PHP array_reverse() 函数原理及实例解析
Jul 14 #PHP
PHP基于array_unique实现二维数组去重
Jul 14 #PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
Jul 13 #PHP
通过实例解析PHP数据类型转换方法
Jul 11 #PHP
PHP var关键字相关原理及使用实例解析
Jul 11 #PHP
You might like
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
PHP Error与Logging函数的深入理解
2013/06/03 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
jQuery过滤选择器用法分析
2015/02/10 Javascript
JavaScript模拟push
2016/03/06 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
Python中无限元素列表的实现方法
2014/08/18 Python
Python的装饰器使用详解
2017/06/26 Python
import的本质解析
2017/10/30 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
浅谈python中统计计数的几种方法和Counter详解
2019/11/07 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
Python爬虫HTPP请求方法有哪些
2020/06/03 Python
Django celery异步任务实现代码示例
2020/11/26 Python
What is view? why do we have view?
2012/06/22 面试题
学术会议主持词
2014/03/17 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
幼师中班个人总结
2015/02/12 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书