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生成便于打印的网页
Oct 09 PHP
php上传、管理照片示例
Oct 09 PHP
php 防止单引号,双引号在接受页面转义
Jul 10 PHP
php站内搜索并高亮显示关键字的实现代码
Dec 29 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
Jan 27 PHP
ThinkPHP表单自动验证实例
Oct 13 PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
Apr 19 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
PHP共享内存使用与信号控制实例分析
May 09 PHP
PHP设计模式之抽象工厂模式实例分析
Mar 25 PHP
Yii redis集合的基本使用教程
Jun 14 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
PHP新手上路(十四)
2006/10/09 PHP
php中hashtable实现示例分享
2014/02/13 PHP
PHP动态柱状图实现方法
2015/03/30 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
appendChild() 或 insertBefore()使用与区别介绍
2013/10/11 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
js中apply与call简单用法详解
2017/11/06 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
[04:17]DOTA2完美盛典,rOtk、BurNIng携手巴图演唱《倔强》
2017/11/28 DOTA
Python中的自定义函数学习笔记
2014/09/23 Python
进一步了解Python中的XML 工具
2015/04/13 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
客服服务心得体会
2013/12/30 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
汇报材料怎么写
2014/12/30 职场文书
呐喊读书笔记
2015/06/30 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书
《槐乡的孩子》教学反思
2016/02/20 职场文书
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android
Python使用Web框架Flask开发项目
2022/06/01 Python