現在分析下把我難倒了好幾天的乙個bug,就是json的解析。
用到的api:
獲得的json:
1,16 "query": "good",
17 "errorcode": 0,
18 "web": [19,
27,3543
]44 }
通過觀察json發現,既有大括號,又有中括號。
1 payload=2 payload['
q']=content
3 url='
'4 r=requests.get(url,params=payload)
5 res=r.json()
6if res['
errorcode
']==20:
7return
'要翻譯的文字過長\n'8
elif res['
errorcode
']==30:
9return
'無法進行有效的翻譯\n'10
elif res['
errorcode
']==40:
11return
'不支援的語言型別\n'12
elif res['
errorcode
']==60:
13return
'無詞典結果\n'14
else
:15 inputkey=res['
query
']+'\n'
16 youdaotranslation=u'
---有道翻譯---
'+'\n
'+res['
translation
'][0]+'\n'
17 x=u'
---網路釋義---
'+'\n'18
if res.has_key('
basic'):
19for i in res['
basic
'].keys():
20if i=='
us-phonetic':
21 youdaoweb=x+u'
美式讀法:
'+res['
basic
'][i]+u'
(sorry,只有音標,真的沒有語言)
'+'\n'22
elif i=='
explains':
23for a in res['
basic
'][i]:
24 youdaoweb=x+'
\n'+a+'
\n'
res['translation'][0]就可以獲取到'translation'的值,簡單明瞭。但是在android裡面,gson解析的時候,需要先物件,列表的分清楚。
需要先寫實體類,然後遇到了{},這個是物件,遇到了,這個是陣列,逐步解析
實體類需要與json的資料對應上。
遇到{},就對應類的例項;遇到,就使用list;然後逐步的把資料解析出來。
Android中XML和JSON資料的解析小案例
一 xml package com.itheima.ceshouji.domain 13691689238 廣東深圳移動神州行卡 名雖可得,利則難獲,藝界發展,可望成功 凶帶吉 public class product public void settype string type public s...
Android進步之十一 Json解析
json資料格式,在android中廣泛應用於客戶端和網路通訊。參考文件 解析方法 jsonobject demojson new jsonobject jsonstring string url demojson.getstring url 2 解析object之二 解析方法 jsonobject...
《Android應用開發精解》初稿完成
今天終於把 android應用開發精解 的初稿發給了出版社,開始進入了編輯階段。寫書真的是好辛苦的,比我想象的要辛苦。我們畢竟不是專業的寫手,我們都是平凡的程式設計師,做設計和開發是很容易的,寫書卻很難。我們沒有那麼華麗的詞藻,很多時候,為了說清楚一件事情,要不停的琢磨如何去寫,都快發瘋了。還好,歷...