采集數(shù)據(jù)的時(shí)候經(jīng)常碰到一些JSON數(shù)據(jù)的Key值不是字符串,下面就來(lái)看看用php如何解析非標(biāo)準(zhǔn)、非規(guī)范json
// 解析非標(biāo)準(zhǔn)json,注意暫時(shí)未處理 {str:['aaaa','bbb']}
$json = preg_replace( "/\s(?=\s)/","\\1", $json );// 多個(gè)空格只留一個(gè)
$json = preg_replace( "/([\{\}\,]+)\s?'?\s?(\w*?)\s?'?\s?:\s?/", '\\1"\\2":', $json);// 轉(zhuǎn)義key
$json = preg_replace("/\"\s?:\'s?(.*?)'\s?([\,\]\}]+?)/",'":"\\1"\\2', $json);// 轉(zhuǎn)義 value
// 解析非標(biāo)準(zhǔn)json,注意暫時(shí)未處理 {str:['aaaa','bbb']}
// 測(cè)試數(shù)據(jù)
$json[] = "{'v-soft-list':[{typecode:'zhuanbi',gametype:'賺幣',count:5},{typecode:'dongzuo',gametype:'動(dòng)作',count:12},{typecode:'maoxian',gametype:'冒險(xiǎn)',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: {}}";
到此這篇關(guān)于php解析非標(biāo)準(zhǔn)json、非規(guī)范json的文章就介紹到這了,更多相關(guān)php解析非標(biāo)準(zhǔn)、非規(guī)范json內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!