最近在呼叫一些api時發現返回的是jsonp格式的資料,這些資料的格式基本是這樣:
callback&
&callback(json_data)
因為json資料中沒有括號,所以我們可以使用正規表示式把json_data提取出來。
import re
defloads_jsonp
(_jsonp)
:try
:return json.loads(re.match(
".*?().*"
,_jsonp,re.s)
.group(1)
)except
:raise valueerror(
'invalid input'
)
text = r'qq.maps._svcb3.search_service_0 && qq.maps._svcb3.search_service_0(\n,\n\t"detail":\n\t,,]\n\t\t},\n \n\t\t"area":\n\t\t,\n\t\t"sample": ,"start":},"drive":,"start":}},\n\t\t"hints": ,\n "weather": "",\n\t\t"brief":,"pictures":[""],"children":[,,,,,,,],"parent":,\n "backlink":\n \n }\n\n})'
解析得到了json格式的資料:
,'backlink':,
'brief':,
'children':[
,,,,
,,,]
,'city':,
,],'pointx'
:'103.834170'
,'pointy'
:'36.061380'},
'hints':[
],'parent':,
'pictures':[
''],
'sample':,
'start':}
,'drive':,
'start':}
},'weather':''
},'info'
:}
python 時間格式解析
下面講自己在某論壇 上遇到的時間格式解析 在下面的所有時間操作中,都是將時間轉換成標準的格式 y m d h m s 示例 2018 07 26 18 56 42 在示例 中會出現 s time 這個字串是我們提取出來的字串,需要做處理的字串。result time 是我們處理的結果。1 s tim...
jsonp格式的資料轉化為json格式
如果前端請求獲取到的資料格式是jsonp,那麼我們就要轉換成json才能進行解析。datas為jsonp資料格式的字串變數,如 jsonp function jsonptojson datas const matches datas.match reg matches匹配到的是陣列,陣列第乙個是所有...
ajax跨域傳輸(jsonp格式)
先拋個列子,自 test.html doctype html html head meta charset utf 8 title test title script src jquery 1.5.2.min.js script script src ajax.js script head body...