php解析非标准json、非规范json的方式实例


Posted in PHP onMay 10, 2022

php解析非标准json、非规范json的方式实例


php解析非标准json、非规范json的方式实例

前言

采集数据的时候经常碰到一些JSON数据的Key值不是字符串,下面就来看看用php如何解析非标准、非规范json

话不多说,直接上代码:

// 解析非标准json,注意暂时未处理 {str:["aaaa","bbb"]}

$json = preg_replace( "/s(?=s)/","\1", $json );// 多个空格只留一个

$json = preg_replace( "/([{},]+)s?"?s?(w*?)s?"?s?:s?/", "\1"\2":", $json);// 转义key

$json = preg_replace("/"s?:"s?(.*?)"s?([,]}]+?)/","":"\1"\2", $json);// 转义 value

// 解析非标准json,注意暂时未处理 {str:["aaaa","bbb"]}

// 测试数据

$json[] = "{"v-soft-list":[{typecode:"zhuanbi",gametype:"赚币",count:5},{typecode:"dongzuo",gametype:"动作",count:12},{typecode:"maoxian",gametype:"冒险",count:14},{typecode:"xiuxian",gametype:"休闲",count:61},{typecode:"zhili",gametype:"智力",count:17},{typecode:"gaoxiao",gametype:"搞笑",count:6},{typecode:"celue",gametype:"策略",count:4},{typecode:"qipai",gametype:"棋牌",count:2}]}";

$json[] ="{"asin": "0001048791", "salesRank": {"Books": 6334800}, "imUrl": "http://ecx.images-amazon.com/images/I/51MKP0T4DBL.jpg", "categories": [["Books"]], "title": "The Crucible: Performed by Stuart Pankin, Jerome Dempsey & Cast"}";

$json[] = "{csrfToken: "ffmekos3s3kc", abVersion: "", abtestMap: {}}";

// 解析

$semesters = json_decode($json, true);
 echo $json;
 var_dump($semesters);die();

Tags in this post...

PHP 相关文章推荐
PHP中GET变量的使用
Oct 09 PHP
PHP控制网页过期时间的代码
Sep 28 PHP
PHP 获取目录下的图片并随机显示的代码
Dec 28 PHP
解析PHP处理换行符的问题 \r\n
Jun 13 PHP
5种PHP创建数组的实例代码分享
Jan 17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
Jul 08 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
php中this关键字用法分析
Dec 07 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 PHP
PHP7变量处理机制修改
Mar 09 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
PHP正则表达式之RCEService回溯
微信小程序结合ThinkPHP5授权登陆后获取手机号
PHP遍历数组的6种方式总结
Nov 17 #PHP
关于PHP数组迭代器的使用方法实例
php双向队列实例讲解
Nov 17 #PHP
如何解决php-fpm启动不了问题
Nov 17 #PHP
You might like
php5.5新数组函数array_column使用
2013/07/08 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
javascript 数组排序函数
2009/08/20 Javascript
JQuery Tab选项卡效果代码改进版
2010/04/01 Javascript
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
json中换行符的处理方法示例介绍
2014/06/10 Javascript
js调试工具console.log()方法查看js代码的执行情况
2014/08/08 Javascript
Javascript学习指南
2014/12/01 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
ES6中Class类的静态方法实例小结
2017/10/28 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
浅谈Python实现2种文件复制的方法
2018/01/19 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
PyCharm设置每行最大长度限制的方法
2019/01/16 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
2013/04/24 HTML / CSS
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
迪士尼西班牙官方网上商店:ShopDisney西班牙
2020/02/02 全球购物
土木工程毕业生推荐信
2013/10/28 职场文书
对教师的评语
2014/04/28 职场文书
捐书倡议书
2014/08/29 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
公司租车协议书
2015/01/29 职场文书
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python
CSS基础详解
2021/10/16 HTML / CSS
css3带你实现3D转换效果
2022/02/24 HTML / CSS
golang定时器
2022/04/14 Golang
Python保存并浏览用户的历史记录
2022/04/29 Python
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android