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 相关文章推荐
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 PHP
PHP中的日期处理方法集锦
Jan 02 PHP
探讨:使用XMLSerialize 序列化与反序列化
Jun 08 PHP
php session劫持和防范的方法
Nov 12 PHP
php环境下利用session防止页面重复刷新的具体实现
Jan 09 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
Apr 09 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
Nov 17 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 PHP
php通过smtp邮件验证登陆的方法
May 11 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
Nov 09 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
Apr 17 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编写一个简单的路由类
2011/04/13 PHP
php写的简易聊天室代码
2011/06/04 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
解决vue 引入子组件报错的问题
2018/09/06 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现把数字转换成中文
2015/06/29 Python
Python中list列表的一些进阶使用方法介绍
2015/08/15 Python
详解python开发环境搭建
2016/12/16 Python
python 实现判断ip连通性的方法总结
2018/04/22 Python
Python合并多个Excel数据的方法
2018/07/16 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
英国女装网上商店:I Saw It First
2018/10/18 全球购物
毕业生个人的求职信范文
2013/12/03 职场文书
工业学校毕业生自荐信范文
2014/01/03 职场文书
学校师德师风整改方案
2014/10/28 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers
为什么node.js不适合大型项目
2021/04/28 Javascript
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers