close

Gson為google發布的library 

簡單來說,就是Java與JSON格式的轉換上更為直覺,對應複雜的JSON資料時增加轉換效率。

以下介紹gson 解析json的方式

gson是透過java的反射機制,找尋該物件並把值寫入的方式.

ps. 打破java的封裝機制,我很不喜歡這樣的做法.

以下是個範例

 {

"id":"1", "name":"歐文", "title":"json 解析", "tag":"android json", "info":"1234567890"

 }

使用gson的方式為

先建立一個class PersonInfo 其內容如下

public class PersonInfo {
    
    private String id;
    private String title;
    private String name;
    private String tag;
    private String info;

    public String getId(){
        return id;
    }

    public String getTitle(){
        return title;
    }

    public String getName(){
        return name;
    }

    public String getTag(){
        return tag;
    }

    public String getInfo(){
        return info;
    }
}

接者在接收json的地方使用下面方式,便可讓 json直接轉為物件

// 若json 文稿為 result
String result = new String(responseBody);
    try {
        Gson gson = new Gson();
        PersonInfo personInfo = gson.fromJson(result,   
                                              PersonInfo.class); 
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

其結果如下:

 personInfo.getID(): 1,

 personInfo.getTitle(): json 解析,

 personInfo.getName(): 歐文,

 personInfo.getTag(): android json

 personInfo.getInfo(): 1234567890

 

若有空的話,我會介紹多層式json如何使用gson解析

 

參考網址

https://bng86.gitbooks.io/android-third-party-/content/gson.html

arrow
arrow
    全站熱搜

    Owen Chen 發表在 痞客邦 留言(0) 人氣()