PHP的json_encode()函数的引号
PHP的json_encode()函数的引号
(1)数组的索引和值都使用双引号
$a = ["id"=>1,"age"=>12,"name"=>"张三"];
var_dump(json_encode($a));
//结果:string(39) "{"id":1,"age":12,"name":"\u5f20\u4e09"}";
(2)数组的索引和值都使用单引号
$b = ['id'=>1,'age'=>12,'name'=>'张三'];
var_dump(json_encode($b));
//结果:string(39) "{"id":1,"age":12,"name":"\u5f20\u4e09"}"
说明:
比较结果可以看出,转成json后结果是一样的,
说明函数json_encode()转化后都为双引号。
注意,json字符串的外层是双引号,内层也是双引号,看起来是这样,转义的斜杠在打印到屏幕上时是不显示出来的。
下面的示例可以说明:
先定义json字符串,然后看是否可以转化成数组:
(1)直接使用上面打印出来的json字符串
$a = "{"id":1,"age":12,"name":"\u5f20\u4e09"}";
var_dump(json_decode($a,true));
结论:直接报错:Parse error: syntax error, unexpected 'id' (T_STRING) in ...
都是用双引号,报错。
(2)使用单引号把json数据引起来
$a = '{"id":1,"age":12,"name":"\u5f20\u4e09"}';//正确的json数据
var_dump(json_decode($a,true));
结论:正常运行,正常解析。
(3)外层还是用双引号,内层使用斜杠转义:
$a = "{\"id\":1,\"age\":12,\"name\":\"\u5f20\u4e09\"}";
var_dump(json_decode($a,true));
结论:正常运行,正常解析。
(4)外层使用双引号,内层使用单引号:
$a = "{'id':1,'age':12,'name':'\u5f20\u4e09'}";
var_dump(json_decode($a,true));
结果是NULL,也不是正常的json数据。
结论:
1、内层的索引和值必须是双引号;
2、外层是单引号时,内层的双引号不需要转义;
3、外层是双引号时,内层的双引号需要转义。
PHP的json_encode()函数的引号的更多相关文章
- PHP的json_encode()函数与JSON对象
一.问题描述 这周搬砖的时候,前端通过ajax获取后端的数据后,照例用 对象.属性 的方式取值,然而结果总是总是不能如预期般展示在页面上. 先写个 demo 还原下场景:选中一个下拉框列表选项后,会在 ...
- JSON:使用json_encode函数解析结果为Null
1.首先,数据库中的json数据是这样的 2.仓鼠使用json_encode()函数进行解析json数据时,显示了一个NULL: 3.这时候,我们需要使用,表示在解析json之前,该json是有语法错 ...
- PHP json_encode() 函数介绍
在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它. 这个函数的功能是将数值转换成json数据存储格式. ...
- (转载)PHP json_encode() 函数介绍
(转载) 在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它. 这个函数的功能是将数值转换成json数据存 ...
- php的json_encode函数问题
php的json_encode函数问题: $ary = []; $ary[0] = 'a'; $ary[1] = 'b'; echo json_encode($ary) . '<br>'; ...
- PHP json_encode函数中需要注意的地方
在php中使用 json_encode() 内置函数可以使用得php中的数据更好的与其它语言传递与使用. 这个函数的功能是将数组转换成json数据存储格式: 1 <?php 2 $arr=arr ...
- [php] php - json_encode 函数
json_encode()函数, $arr= array("key"=>null); echo json_encode($arr);{"key":null ...
- php数组使用json_encode函数中文被编码成null的原因和解决办法
大写的囧,提客户处理问题,前端的APP一直在叽叽咂咂,说收到的值是null,弄了半天原来是这个问题,记录下吧 json格式在开发中用的十分广泛.在php中json_encode函数可以直接将数组转成 ...
- 将数组转化为json字符串(不使用json_encode函数)
将数组转化为json字符串(不使用json_encode函数) public function arrayToJson($arr,$jsonStr=''){ $jsonStr.='{'; foreac ...
随机推荐
- WCF_基础学习
1.https://www.cnblogs.com/swjian/p/8126202.html 2.https://www.cnblogs.com/dotnet261010/p/7407444.htm ...
- Docker 容器的跨主机连接
使用网桥实现跨主枳容器连接 不推荐 使用OpenvSwitch实现跨主机容器连接 OpenvSwitch: OpenvSwitch是一个高质量的.多层虚拟交换枳,使用开源Apache2.0许可协议,由 ...
- 采用Atlas+Keepalived实现MySQL读写分离、读负载均衡
========================================================================================== 一.基础介绍 == ...
- LeetCode(168) Excel Sheet Column Title
题目 Given a positive integer, return its corresponding column title as appear in an Excel sheet. For ...
- dict 字典的常用操作
#dict 字典的常用操作: id_db.get() #获取 id_db.update() #更新(覆盖)字典 id_db.values() #打印字典里所有的values id_db.keys() ...
- Android Studio中不能显示svn的上传下载两个图标同时version control为灰,不可点击
最近在接触Android Studio,涉及到svn的配置,因为是先安装的svn,后安装的Android Studio,后边同事告诉我, Android Studio 的SVN安装与其他IDE有很大差 ...
- linux随笔4
vim编辑器: 启动vim编辑器,只需键入vim 和希望编辑的文件:vim mongo.sh 如果文件存在,将显示整个内容显示到进行编辑的缓冲区,如果文件不存在,打开一个新的缓冲区进行编辑. 内容未占 ...
- 【转】Linux多命令顺序执行连接符(; || && |)
当我们需要一次执行多个命令的时候,命令之间需要用连接符连接,不同的连接符有不同的效果.下面我们总结一下,加以区分. (1) ; 分号,没有任何逻辑关系的连接符.当多个命令用分号连接时,各命令之间的 ...
- Hadoop全分布式模式安装
一.准备 1.准备至少三台linux服务器,并安装JDK 关闭防火墙如下 systemctl stop firewalld.service systemctl disable firewalld.se ...
- git status 下中文显示乱码问题解决
$ git status -s ?? "\350\257\264\346\230\216.txt\n $ printf & ...