这篇文章主要给大家介绍了关于利用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: {}}";

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

data.json

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

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

到此这篇关于php解析非标准json、非规范json的文章就介绍到这了。

更多相关文章

  1. java对XML文件的解析、节点的增加、删除操作总结
  2. android 中如何解析Rss订阅的xml文件
  3. Android高级进阶之路【六】Android(安卓)Framework解析
  4. Android(安卓)JSON数据的解析与封装小Demo
  5. Android(安卓)创建与解析XML(五)—— Dom4j方式
  6. Android系统架构解析
  7. Android(安卓)采用PULL来解析XML
  8. Google工程师解析Android系统架构
  9. android lru缓存 辅助类LruCache源码解析

随机推荐

  1. java 中判断一个字符串中大小写字母的个
  2. RxJava理解系列(一)
  3. 这是我在Java套接字编程中做的一种大家都
  4. java 和 C 代码运行效率的比较(整理)
  5. java 画图注意 改变窗口大小不会消失
  6. java线程池深入二
  7. Hibernate HQL[DEPRECATION] Encountered
  8. JAVA gc垃圾回收机制
  9. Java8 新特性笔记
  10. 复杂链表的复制——牛客offer