Ace教你一步一步做Android新闻客户端(三) JSON数据解析
對(duì)于服務(wù)器端來說,返回給客戶端的數(shù)據(jù)格式一般分為html、xml和json這三種格式,現(xiàn)在給大家講解一下json這個(gè)知識(shí)點(diǎn),
1 如何通過json-lib和gson這兩個(gè)json解析庫來對(duì)解析我們的json數(shù)據(jù),
2 以及如何在我們的Android客戶端解析來自服務(wù)器端的json數(shù)據(jù),并更新到UI當(dāng)中。(下篇來講)
?
一、什么是json
json(Javascript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,相比于xml這種數(shù)據(jù)交換格式來說,因?yàn)榻馕鰔ml比較的復(fù)雜,而且需要編寫大段的代碼,所以客戶端和服務(wù)器的數(shù)據(jù)交換格式往往通過json來進(jìn)行交換。尤其是對(duì)于web開發(fā)來說,json數(shù)據(jù)格式在客戶端直接可以通過javascript來進(jìn)行解析。
json一共有兩種數(shù)據(jù)結(jié)構(gòu),一種是以 (key/value)對(duì)形式存在的無序的jsonObject對(duì)象,一個(gè)對(duì)象以“{”(左花括號(hào))開始,“}”(右花括號(hào))結(jié)束。每個(gè)“名稱”后跟一個(gè)“:”(冒號(hào));“‘名稱/值’ 對(duì)”之間使用“,”(逗號(hào))分隔。
例如:{"name": "xiaoluo"}, 這就是一個(gè)最簡(jiǎn)單的json對(duì)象,對(duì)于這種數(shù)據(jù)格式,key值必須要是string類型,而對(duì)于value,則可以是string、number、object、array等數(shù)據(jù)類型:
另一種數(shù)據(jù)格式就是有序的value的集合,這種形式被稱為是jsonArray,數(shù)組是值(value)的有序集合。一個(gè)數(shù)組以“[”(左中括號(hào))開始,“]”(右中括號(hào))結(jié)束。值之間使用“,”(逗號(hào))分隔。
?
更多的有關(guān)json數(shù)據(jù)格式可以參加json的官網(wǎng),http://www.json.org/json-zh.html,咱們主要講的是如何解析服務(wù)器發(fā)過來的數(shù)據(jù)
現(xiàn)在貼上一個(gè)API接口 ?大家可以拿來用?
http://www.imooc.com/api/teacher?type=4&num=30感謝慕課網(wǎng) 慕課網(wǎng)真的是個(gè)炒雞棒的網(wǎng)站,初級(jí)中級(jí)高級(jí)教程都有(好的東西當(dāng)然要安利咯!)我聽過傳智 heima 青鳥的課 講的很快 而且內(nèi)容很多,多而不專,所以阿冰再這里再安利一下;
然后chrome 可以安裝插件JSON-XX 沒有的話百度搜索 JSON在線解析 把網(wǎng)站解析下就可以看見清晰的結(jié)構(gòu)是個(gè)
{"data":[{"id":1,
????????????"name":"Tony老師聊shell——環(huán)境變量配置文件",
????????????"picSmall":"http://img.mukewang.com/55237dcc0001128c06000338-300-170.jpg",
????????????"picBig":"http://img.mukewang.com/55237dcc0001128c06000338.jpg",
????????????"description":"為你帶來shell中的環(huán)境變量配置文件",
????????????"learner":12312},{},{},{},{},{}]
從上面的小科普知道 這是個(gè)JSONArray
下面等晚上吃完飯寫
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/AceIsSunshineRain/p/5148846.html
總結(jié)
以上是生活随笔為你收集整理的Ace教你一步一步做Android新闻客户端(三) JSON数据解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全国计算机等级考试题库二级C操作题100
- 下一篇: 国内统一Android应用市场,最全最干