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


Posted in PHP onDecember 10, 2020

前言

采集数据的时候经常碰到一些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: {}}";

附php解析JSON数据示例代码:

data.json

{
"name":”yudabo“,
"score":100
}

PHP

$json_string = file_get_contents('json/data.json');
$data = json_decode($json_string, true);
echo $data['name'].' '.$data['score'];

到此这篇关于php解析非标准json、非规范json的文章就介绍到这了,更多相关php解析非标准、非规范json内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
PHP程序开发范例学习之表单 获取文本框的值
Aug 08 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 PHP
php接口与接口引用的深入解析
Aug 09 PHP
PHP按行读取、处理较大CSV文件的代码实例
Apr 09 PHP
php计算两个整数的最大公约数常用算法小结
Mar 05 PHP
Yii实现简单分页的方法
Apr 29 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
PHP实现微信小程序用户授权的工具类示例
Mar 05 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 26 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 16 PHP
php慢查询日志和错误日志使用详解
Feb 27 PHP
PHP连接MySQL数据库三种实现方法
Dec 10 #PHP
discuz论坛更换域名,详细文件修改步骤
Dec 09 #PHP
用php实现分页效果的示例代码
Dec 10 #PHP
PHP笛卡尔积实现原理及代码实例
Dec 09 #PHP
PHP基于进程控制函数实现多线程
Dec 09 #PHP
PHP如何防止用户重复提交表单
Dec 09 #PHP
Nginx+php配置文件及原理解析
Dec 09 #PHP
You might like
yii实现级联下拉菜单的方法
2014/07/31 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
2015/06/17 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
jQuery 方法大全方便学习参考
2010/02/25 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
JS中from 表单序列化提交的代码
2017/01/20 Javascript
js 调用百度分享功能
2017/02/27 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
关于webpack代码拆分的解析
2017/07/20 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
Python部署web开发程序的几种方法
2017/05/05 Python
Python中django学习心得
2017/12/06 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
Python操作json的方法实例分析
2018/12/06 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
django rest framework使用django-filter用法
2020/07/15 Python
python调用百度API实现人脸识别
2020/11/17 Python
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
小学生手册家长评语
2014/04/16 职场文书
保护野生动物倡议书
2014/05/16 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
小王子读书笔记
2015/06/29 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书
学校教代会开幕词
2016/03/04 职场文书
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
mysq启动失败问题及场景分析
2021/07/15 MySQL