Android中使用Gson解析JSON數(shù)據(jù)的兩種方法

方法一:通過(guò)獲取JsonReader對(duì)象解析JSON數(shù)據(jù): 

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供營(yíng)口網(wǎng)站建設(shè)、營(yíng)口做網(wǎng)站、營(yíng)口網(wǎng)站設(shè)計(jì)、營(yíng)口網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、營(yíng)口企業(yè)網(wǎng)站模板建站服務(wù),10多年營(yíng)口做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

    String jsonData = "[{\"username\":\"arthinking\",\"userId\":001},{\"username\":\"Jason\",\"userId\":002}]"; 
    try{ 
        JsonReader reader = new JsonReader(new StringReader(jsonData)); 
        reader.beginArray(); 
        while(reader.hasNext()){ 
            reader.beginObject(); 
            while(reader.hasNext()){ 
                String tagName = reader.nextName(); 
                if(tagName.equals("username")){ 
                    System.out.println(reader.nextString()); 
                } 
                else if(tagName.equals("userId")){ 
                    System.out.println(reader.nextString()); 
                } 
            } 
        reader.endObject(); 
        } 
    reader.endArray(); 
   } 
    catch(Exception e){ 
        e.printStackTrace(); 
    }

方法二:通過(guò)把JSON數(shù)據(jù)映射成一個(gè)對(duì)象,使用Gson對(duì)象的fromJson()方法獲取一個(gè)對(duì)象數(shù)組進(jìn)行操作: 

創(chuàng)建JSON數(shù)據(jù)對(duì)應(yīng)的一個(gè)POJO對(duì)象User.java:

public class User { 
    private String username ; 
    private int userId ; 
    public String getUsername() { 
        return username; 
    } 
    public void setUsername(String username) { 
        this.username = username; 
    } 
    public int getUserId() { 
        return userId; 
    } 
    public void setUserId(int userId) { 
        this.userId = userId; 
    } 
}

使用Gson對(duì)象獲取User對(duì)象數(shù)據(jù)進(jìn)行相應(yīng)的操作:

    ype listType = new TypeToken<LinkedList<User>>(){}.getType(); 
    Gson gson = new Gson(); 
    LinkedList<User> users = gson.fromJson(jsonData, listType); 
    for (Iterator iterator = users.iterator(); iterator.hasNext();) { 
        User user = (User) iterator.next(); 
        System.out.println(user.getUsername()); 
    System.out.println(user.getUserId()); 
    }

如果要處理的JSON字符串只包含一個(gè)JSON對(duì)象,則可以直接使用fromJson獲取一個(gè)User對(duì)象: 

    tring jsonData = "{\"username\":\"arthinking\",\"userId\":001}"; 
    Gson gson = new Gson(); 
    User user = gson.fromJson(jsonData, User.class); 
    System.out.println(user.getUsername()); 
    System.out.println(user.getUserId());

網(wǎng)站欄目:Android中使用Gson解析JSON數(shù)據(jù)的兩種方法
當(dāng)前URL:http://muchs.cn/article42/jooohc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、小程序開(kāi)發(fā)、微信公眾號(hào)、靜態(tài)網(wǎng)站、網(wǎng)站收錄、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)