学无先后,达者为师

网站首页 PHP其他 正文

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

作者:狂野小青年 更新时间: 2022-05-12 PHP其他

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


1b886e01fb6cf6771d2069176464ece5.png

前言

采集数据的时候经常碰到一些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();

 

原文链接:https://blog.csdn.net/veloi/article/details/124644902

栏目分类
最近更新