php中如何使用json_decode()和json_encode()?
发布:smiling 来源: PHP粉丝网 添加日期:2022-06-08 09:08:04 浏览: 评论:0
json_decode对JSON格式的字符串进行编码,而json_encode对变量进行 JSON 编码。下面本篇文章给大家介绍一下json_decode()和json_encode()的使用方法,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
一、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。
eg:
- //执行代码
- $book = array('a'=>'lzichun','b'=>'nihao','c'=>'wohenhao','d'=>'ljlong');
- $json = json_encode($book);
- echo $json;
- //打印出的结果
- {"a":"lzichun","b":"nihao","c":"wohenhao","d":"ljlong"}
二、json_decode() 对JSON数据进行解码,转换为PHP变量
语法:
json_decode (json[,json [,json[,assoc = false [, $depth = 512 [, $options =0 ]]])
注意:
1、$ json 为待解码的数据,必须为utf8编码的数据;
2、$ assoc 值为TRUE时返回数组,FALSE时返回对象;
3、$ depth 为递归深度;
4、$option 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING;
5、一般只用前面两个参数,如果要数据类型的数据要加一个参数true。
eg:
- //执行代码
- $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"
本文转载自:https://blog.csdn.net/longgeaisisi/article/details/84665523
Tags: json_decode json_encode
- 上一篇:php表单加入Token防止重复提交的方法
- 下一篇:最后一页
相关文章
- ·php的json_decode函数返回null的问题(2014-09-21)
- ·json_decode返回null空问题解决方法(2014-09-21)
- ·php5.2以下版本无json_decode函数的解决方法(2021-01-10)
- ·PHP中遇到BOM、
编码导致json_decode函数无法解析问题 (2021-03-08) - ·php json_encode中文乱码解决办法(2013-11-29)
- ·php json_encode实现与中文乱码解决方法(2014-05-30)
- ·PHP json_encode输出josn格式并解决中文乱码(2014-07-29)
- ·PHP json_encode()函数json不转义中文问题解决办法(2014-09-20)
- ·php中json_encode gbk/gb2312中文乱码问题(2014-09-20)
- ·php中json_encode UTF-8中文乱码问题(2015-04-04)
- ·php的json_encode不支持JSON_UNESCAPED_UNICODE解决办法(2015-12-10)
- ·解决PHP的json_encode处理中文被转码为全英文的方法(2016-02-16)
- ·Json_encode防止汉字转义成unicode的方法(2019-12-04)
- ·php使用json_encode对变量json编码(2020-11-07)
- ·php中json_encode处理gbk与gb2312中文乱码问题的解决方法(2021-03-19)
- ·php中json_encode UTF-8中文乱码的更好解决方法(2021-04-15)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)