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()函数的引号的更多相关文章

  1. PHP的json_encode()函数与JSON对象

    一.问题描述 这周搬砖的时候,前端通过ajax获取后端的数据后,照例用 对象.属性 的方式取值,然而结果总是总是不能如预期般展示在页面上. 先写个 demo 还原下场景:选中一个下拉框列表选项后,会在 ...

  2. JSON:使用json_encode函数解析结果为Null

    1.首先,数据库中的json数据是这样的 2.仓鼠使用json_encode()函数进行解析json数据时,显示了一个NULL: 3.这时候,我们需要使用,表示在解析json之前,该json是有语法错 ...

  3. PHP json_encode() 函数介绍

    在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它. 这个函数的功能是将数值转换成json数据存储格式. ...

  4. (转载)PHP json_encode() 函数介绍

    (转载) 在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它. 这个函数的功能是将数值转换成json数据存 ...

  5. php的json_encode函数问题

    php的json_encode函数问题: $ary = []; $ary[0] = 'a'; $ary[1] = 'b'; echo json_encode($ary) . '<br>'; ...

  6. PHP json_encode函数中需要注意的地方

    在php中使用 json_encode() 内置函数可以使用得php中的数据更好的与其它语言传递与使用. 这个函数的功能是将数组转换成json数据存储格式: 1 <?php 2 $arr=arr ...

  7. [php] php - json_encode 函数

    json_encode()函数, $arr= array("key"=>null); echo json_encode($arr);{"key":null ...

  8. php数组使用json_encode函数中文被编码成null的原因和解决办法

    大写的囧,提客户处理问题,前端的APP一直在叽叽咂咂,说收到的值是null,弄了半天原来是这个问题,记录下吧 json格式在开发中用的十分广泛.在php中json_encode函数可以直接将数组转成 ...

  9. 将数组转化为json字符串(不使用json_encode函数)

    将数组转化为json字符串(不使用json_encode函数) public function arrayToJson($arr,$jsonStr=''){ $jsonStr.='{'; foreac ...

随机推荐

  1. 如何理解JavaScript中的this关键字

    前言 王福朋老师的 JavaScript原型和闭包系列 文章看了不下三遍了,最为一个初学者,每次看的时候都会有一种 "大彻大悟" 的感觉,而看完之后却总是一脸懵逼.原型与闭包 可以 ...

  2. 【转】centos中service命令与/etc/init.d的关系以及centos7的变化

    centos中service命令与/etc/init.d的关系 service httpd start 其实是启动了存放在/etc/init.d目录下的脚本. 但是centos7的服务管理改规则了.C ...

  3. DC课程目标

  4. Python语言的简介

    ___________________________________________________________我是一条分割线__________________________________ ...

  5. Centos7 安装 OwnCloud 私有云

    OwnCloud 一款文件主机服务软件,就是我们平时使用的云存储,不过这是在自己主机的服务器上建立属于自己的私有云,OwnCloud 使用AGPLv3协议发布.本项目是基于PHP和SQLite,MyS ...

  6. Android CTS - Cannot run program "aapt"/ Fail to run aapt on .../apk installed but AaptParser failed

    今天同事碰到cts的一些问题,跑到某个apk的时候,就提示如下错误: Cannot run program "aapt": error=2. No such file or dir ...

  7. P3391 【模板】文艺平衡树(Splay)新板子

    P3391 [模板]文艺平衡树(Splay) 题目背景 这是一道经典的Splay模板题——文艺平衡树. 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转 ...

  8. UVa 11795 状压DP Mega Man's Mission

    kill[S]表示消灭机器人的集合为S,剩下的所能杀死的机器人集合. 设d(S)表示杀死机器人集合为S的方法数,答案为d((1<<n) - 1). d(S)可以由d(S')转移过来,其中S ...

  9. 求1+2+...+n 【微软面试100题 第十二题】

    题目要求: 要求不能使用乘除法,for/while/if/else/switch/case等关键字以及条件判断语句(A?B:C). 参考资料:剑指offer第46题 题目分析: 方法1:利用类的静态成 ...

  10. 谋哥:搞APP,做得累的都不对!

    最近谋哥(微信viyi88)我刚加入“秦王会”,思想收到猛烈地冲击,各位大佬的思维有时候会让我大脑短路,收获不少.同时,我也慢慢发现我一直平静的 心开始浮躁,我发现苗头不对,于是开始静下心来.静下心, ...