这篇文章主要给大家介绍了关于利用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. MSSQL中类似MySQL的limit参数
  2. 如何找到一个具有负值而另一个具有相同正
  3. 求助,关于sql带入参数的写法问题。
  4. 参数化的Insert语句,事务抛出错误
  5. linux 上安装postgresql 并配置pgadmin i
  6. 将mysql查询转换为sql server查询
  7. 待解决 WIN7下安装完sql2005后没有服务器
  8. SQL Server 批量更新字段值为ROW_NUMBER(
  9. 窥探SQL预编译内幕
  10. SQL里ROWCOUNT的使用