新聞中心
前幾天做項(xiàng)目遇到了個(gè)關(guān)于服務(wù)器返回的JSONObject解析的問題,想記錄一下。
創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),都勻網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:都勻等地區(qū)。都勻做網(wǎng)站價(jià)格咨詢:18980820575
關(guān)于Json的解析一般用2種方法,第一是下載GSON的JAR包,采用GSON解析,這種解析雖然方便使用,但是對(duì)于一些特殊格式的Json字符串是行不通的。而且JavaBean也寫不出來。先上圖:
對(duì)于這樣的對(duì)象包對(duì)象的形式,不適合寫傳統(tǒng)的JavaBean,需要采用手動(dòng)解析的形式。手動(dòng)解析非常強(qiáng)大,基本可以對(duì)各種格式的Json字符串進(jìn)行解析。
下面是我解析的類:
public class OriginalRankBean { public String author; public String play; public String pic; public String title; public String video_review; public Listparse(JSONObject obj) { if (obj == null) { return null; } List datalist=new ArrayList (); obj = obj.optJSONObject("list"); for (int i = 0; i 在手動(dòng)解析的javaBean中寫入方法,通過調(diào)用方法,直接返回一個(gè)集合。在外面進(jìn)行方法的調(diào)用并傳入JSONObject,再創(chuàng)建一個(gè)集合進(jìn)行接收就可以了。
注意:這里用opt可以防止報(bào)異常,因?yàn)閛pt內(nèi)部已經(jīng)做了判斷了,而使用get的形式需要拋異常。
在解析過程中,只拿自己需要的數(shù)據(jù)就可以了。
注意上來先判空,如果請(qǐng)求回來的JSONObject是空的話,那就沒必要解析了,直接return,去檢查url和請(qǐng)求網(wǎng)絡(luò)的方法是否出現(xiàn)了問題。
網(wǎng)站題目:關(guān)于Json數(shù)據(jù)的手動(dòng)解析
路徑分享:http://fisionsoft.com.cn/article/jsjeoh.html