8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png
php解析非标准json、非规范json的方式 PHP
admin 2022-7-14

前言

采集数据的时候经常碰到一些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();
最后于 2022-8-16 被admin编辑 ,原因:
最新回复 (1)
    • 朕弟分享 | 专注小众,乐于分享!
      3
          
返回
发新帖 搜索 反馈 回顶部