1. 程式人生 > >解析Json框架:Gson實體類對映

解析Json框架:Gson實體類對映

說明:

Android介面返回的資料都是json的String物件,Gson封裝了對映功能,網路請求的Volley框架請求也是用到了Gson的對映原理:

實體類:

          先建一個實體類來對映json String:

package com.baofoo.mobile.bean;

import java.util.ArrayList;

/**
 * 網路分類資訊封裝
 * 欄位名必須和伺服器返回的欄位名一致,方便json解析
 *
 * @author ZST
 */
public class NewsData {

    // 根據json資料實際解析
    // 第一層資料
    public int retcade;
    public ArrayList<NewsMenuData> data;

    // 側邊連資料物件
    // 第二層資料-用內部類接收data的map資料
    public class NewsMenuData {
        public String id;// 有些id比較長,超出int範圍,所以使用String接收
        public String title;
        public int type;
        public String url;

        public ArrayList<NewsTabData> children;

        @Override
        public String toString() {
            return "NewsMenuData [title=" + title + ", children=" + children
                    + "]";
        }

    }

    // 新聞頁面下11個子頁籤的資料物件
    // 第三層資料-接收children的map資料
    public class NewsTabData {
        public String id;
        public String title;
        public int type;
        public String url;

        @Override
        public String toString() {
            return "NewsTabData [title=" + title + "]";
        }
    }

    //重寫一下toString方法,方便列印NewsData這個物件中的變數
    @Override
    public String toString() {
        return "NewsData [data=" + data + "]";
    }

}



對映:

         返回的結果直接對映即可:

 NewsData data = new Gson().fromJson(result, NewsData.class);

呼叫:

LogUtils.d("測試:" + data.retcade);