浅析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之数据库操作详解及乱码解决!
Jan 02 PHP
php 生成WML页面方法详解
Aug 09 PHP
php设计模式 Observer(观察者模式)
Jun 26 PHP
php之Memcache学习笔记
Jun 17 PHP
php通过sort()函数给数组排序的方法
Mar 18 PHP
基于php的CMS中展示文章类实例分析
Jun 18 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
Apr 04 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
php提取微信账单的有效信息
Oct 01 PHP
PHP如何通过表单直接提交大文件详解
Jan 08 PHP
PHP微商城开源代码实例
Mar 27 PHP
thinkphp5框架路由原理与用法详解
Feb 11 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
在php中取得image按钮传递的name值
2006/10/09 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
2019/10/04 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
javascript结合Canvas 实现简易的圆形时钟
2015/03/11 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
2018/01/31 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
[00:31]DOTA2上海特级锦标赛 Fnatic战队宣传片
2016/03/04 DOTA
用Python编程实现语音控制电脑
2014/04/01 Python
python友情链接检查方法
2015/07/08 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
python装饰器原理与用法深入详解
2019/12/19 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
自荐信要包含哪些内容
2013/11/06 职场文书
一年级数学教学反思
2014/02/01 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
2015年国际护士节演讲稿
2015/03/18 职场文书
汽车车尾标语大全
2015/08/11 职场文书
早恋主题班会
2015/08/14 职场文书
python中取整数的几种方法
2021/11/07 Python