Android開發之json解析

2021-09-06 23:53:22 字數 1671 閱讀 3464

現在分析下把我難倒了好幾天的乙個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應用開發精解 的初稿發給了出版社,開始進入了編輯階段。寫書真的是好辛苦的,比我想象的要辛苦。我們畢竟不是專業的寫手,我們都是平凡的程式設計師,做設計和開發是很容易的,寫書卻很難。我們沒有那麼華麗的詞藻,很多時候,為了說清楚一件事情,要不停的琢磨如何去寫,都快發瘋了。還好,歷...