先说一说JSON,JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null。
前端一般和后端传递数据选择JSON是因为
(1)JSON是纯文本格式,是独立于语言和平台的。
(2)生成和解析相对于XML而言要简单。
(3)读写的速度更快。
php中json_encode编码成功的话返回一个JSON格式的字符串,失败的话返回一个false(var_dump一下可以看看是不是string类型)
后端将这个json数据(string)返回给前端,前端再对这个json数据也就是string进行下一步处理。
而json_decode($jsondata,bool),一般是将前台传来的json数据(string)解码为对象类型(bool为false时,默认false),当bool为true时,则将json(string)转化为数组类型,再进下一步处理。
对象类型的操作和数组类型是不一样的
$data = array('a'=>'好','b'=>'hi','c'=>'good','d'=>'nice');
$jsondata = json_encode($data,JSON_UNESCAPED_UNICODE);//加上JSON_UNESCAPED_UNICODE就不会自动对中文编码
echo $jsondata;
//结果{"a":"好","b":"hi","c":"good","d":"nice"},一条JSON格式的字符串
$array = json_decode($jsondata,TRUE);
var_dump($array['b']);//调用数组元素
$obj = json_decode($jsondata);
var_dump($obj->c);//调用对象元素
相关推荐
特别申明:本站的主旨在于收集互联网运营相关的干货知识,给运营小伙伴提供便利。
网站所收集到的公开内容均来自于互联网或用户投稿,并不代表本站认同其观点,
也不对网站内容的真实性负责,如有侵权,请联系站长删除