JSON字符串是key:value形式的字符串,正常key是由双引号括起来的。

但如果json字符串的key缺少双引括起来,则json_decode会失败。

<?php
/** 兼容key没有双引括起来的JSON字符串解析
* @param  String  $str JSON字符串
* @param  boolean $mod true:Array,false:Object
* @return Array/Object
*/
function ext_json_decode($str, $mode=false){if(preg_match('/\w:/', $str)){$str = preg_replace('/(\w+):/is', '"$1":', $str);}return json_decode($str, $mode);
}$str = '{"name":"fdipzone"}';
var_dump(ext_json_decode($str, true)); // array(1) { ["name"]=> string(8) "fdipzone" }$str1 = '{name:"fdipzone"}';
var_dump(ext_json_decode($str1, true)); // array(1) { ["name"]=> string(8) "fdipzone" }
?>

转载于:https://my.oschina.net/tongjh/blog/420423

JSON字符串key缺少双引号的解决方法相关推荐

  1. mysql json 引号 双引号_关于JSON字符串key缺少双引号的解决方法 的讲解

    JSON字符串key缺少引号的解决方法 JSON字符串是key:value形式的字符串,正常key是由双引号括起来的. 例如:<?php $data = array('name'=>'fd ...

  2. json字符串多了双引号_Python-数据解析-json模块 !

    import json json 一种轻量级的数据交换格式. 一.JSON 的值 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false) 数组(在方括号中) 对象(在花括号中) ...

  3. CentOS 7键盘敲不出斜杠\ 和双引号的解决方法

    最近在VMware上用pack安装openstack的时候,发现虚拟机打不出| 和斜杠 "\",打出来的是# ,是因为没用美式键盘. 解决办法有二: 1. 因为是VMware上弄得 ...

  4. fastjson转换json字符串key的首字母小写变大写的解决办法

    问题描述 在开发过程中,由于接口文档的描述,要求json字符串的key首字母为大写,而java 的规范要求在定义bean的时候,成员属性是首字母小写的驼峰格式,java的基本规范一定要遵守,否则会出现 ...

  5. JSON 的标准:双引号而非单引号!

    刚刚测试发现一段很简单的.看似正确的代码却是错误的: <?php $json_str = "{'name':'Eric', 'age':23}"; var_dump(json ...

  6. php json字符串解析中的引号问题

    背景 json字符串的解析非常常见,但是php中单双引号含义不同以及各种字符串处理函数对json字符串的处理常常会导致json_decode()函数解析失败.这里借着工作中遇到的一个问题整理一下相关的 ...

  7. python字符串中既有单引号又有双引号_Python如何实现在字符串里嵌入双引号或者单引号...

    两种方法实现: 1.在双引号前面加个转义符 \ ,即反斜杠.如"Hello \"W \"orld",会输出 Hello "W"orld 2. ...

  8. java替换字符串中的 “ 双引号 并添加正 斜杠 \)

    java替换字符串中的 " 双引号 并添加正 斜杠 \ java替换字符串中的 " 双引号 并添加正斜杠 \ 解决方案很多.像我一样强行死磕(吐血),或者换别的传参方式.(理论上后 ...

  9. python怎么输出双引号_Python如何实现在字符串里嵌入双引号或者单引号

    两种方法实现: 1.在双引号前面加个转义符 \ ,即反斜杠.如"Hello \"W \"orld",会输出 Hello "W"orld 2. ...

最新文章

  1. opencv机器学习线性回归_机器学习入门1---简单线性回归
  2. server2016安装mysql_windows server2016安装MySQL5.7.19解压缩版教程详解
  3. ttf能改成gfont吗_中国废弃轮胎,被非洲人买去做成凉鞋!15元一双,至少能穿10年...
  4. 无法打开物理文件“E:\Database\VRVIES6841-FZ01-Global\VRVEIS.mdf”。操作系统错误 5:“5(拒绝访问。)”...
  5. DllImport 自动选择x64或x86 dll
  6. RabbitMQ学习之Flow Control
  7. 熟悉 CMake (三)—— 配置 opencv3
  8. 黄聪:C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解
  9. Java加密方式(AES,DES,RSA,DSA,MD5)
  10. 参考文献标号字体_论文参考文献字体大小
  11. 医院信息系统培训心得
  12. Python学习笔记(15)-Python代码转换为exe可执行程序详解
  13. 使用Java实现给QQ邮箱发送验证码
  14. 华为快应用接入广告服务开发指导
  15. Oracle SQL基础
  16. python变量、运算符
  17. 英雄联盟 python 刷等级_厉害了,30行python代码爬取英雄联盟全英雄皮肤
  18. 20种让你更高效的科学学习方法
  19. 脚本小子--------python脚本循环导出H3C华三核心防火墙context虚拟防火墙配置(你凝视bug,bug也在凝视你)
  20. 51.【Java String方法的小结】

热门文章

  1. smartarm3250 performance
  2. live的domain服务
  3. 高效代码审查:来自前质疑者的9个建议
  4. 查询当天数据_【财会人职场必备】发票勾选、查询、认证等25问!简直太全了!都收藏了!...
  5. hdu4990 矩阵快速幂
  6. C语言经典例96-计算字符串中子串出现的次数
  7. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | 类加载器构造函数分析 | DexPathList 引入 )
  8. 【Android 插件化】VAHunt 检测插件化引擎的具体细节
  9. 【Flutter】Banner 轮播组件 ( flutter_swiper 插件 | Swiper 组件 )
  10. 【组合数学】生成函数 ( 移位性质 )