python 調用 API 獲得的JSON如何處理才能獲得我想獲得的內容呢?
大家可能覺得我是伸手黨 其實我在發該話題前我有進行查相關資料 無奈沒什麼經驗也查不出解決方法. 只能來這裡問大家了 我在百度 調用一個叫X信精選的API 返回的JSON格式如下: 我想獲得contentlist裡面的內容該如何實現?
{
"showapi_res_code": 0,
"showapi_res_error": "",
"showapi_res_body": {
"pagebean": {
"allNum": 5034,
"allPages": 252,
"contentlist": [
{
"code2img": "http://app1.showapi.com/weixin_info/pubNum/xxxxxx.jpg",
"id": "55cbfce16e36a9c5946e40b0",
"pubNum": "xxxx",
"tag": "",
"type1_id": "44",
"type1_name": "名人明星",
"type2_id": "73",
"type2_name": "時尚",
"userLogo": "http://app1.showapi.com/weixin_info/pubNum/xxxx.jpg",
"weiNum": "xxx66 "
},
{
"code2img": "http://app1.showapi.com/weixin_info/pubNum/xxxx.jpg",
"id": "55cbfcdf6e36a9c5946e40ae",
"pubNum": "陽西縣藍星半島旅遊度假村",
"tag": "添加微信號:xxxx22 ",
"type1_id": "47",
"type1_name": "生活購物",
"type2_id": "100",
"type2_name": "旅遊",
"userLogo": "http://app1.showapi.com/weixin_info/pubNum/xxxx.jpg",
"weiNum": "xxxx22"
}
不就是一層一層取字典的值么……
def json_path(d, path, sep=.):
pp = path.split(sep)
t = d
for p in pp:
if type(t) is dict:
t = t[p]
elif type(t) is list:
t = t[int(p)]
else:
t = None
return t
import json
d = json.loads(s)
print json_path(d, "showapi_res_body.pagebean.contentlist.1.pubNum") #陽西縣藍星半島旅遊度假村
print json_path(d, "showapi_res_code") # 0
import jsonresult = json.loads(response.body)你要的
result["showapi_res_body"]["pagebean"]["contentlist"]
給個例子http://www.cnblogs.com/justsong/p/8342014.html
獻醜了 已經解決了 只怪自己比較少嘗試
抓取不多的話,其實寫個正則的方法也很好用
推薦閱讀:
※從零開始的 JSON 庫教程(五):解析數組解答篇
※Json數據的簡化存儲
TAG:JSON |