枚舉類轉成json


import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

/**
 * portlet類別枚舉類
 */
public enum PortletType {
    SYSTEM_LIST_DATA(1, "子系統列表數據"),
    SYSTEM_CHART_DATA(2, "子系統圖表數據"),
    PROJECT_PROFILE(3, "項目簡介"),
    ENVIRON_OVERVIEW(4, "建築環境概覽"),
    WEATHER(5, "天氣預報");

    private int code;
    private String name;

    PortletType(int code, String name) {
        this.code = code;
        this.name = name;
    }

    /**
     * 根據code獲取name
     * @param code
     * @return
     */
    public static String getDes(int code) {
        for (PortletType e : PortletType.values()) {
            if (e.getCode() == code) {
                return e.name;
            }
        }
        return null;
    }

    /**
     *將該枚舉全部轉化成json
     * @return
     */
    public static String toJson(){
        JSONArray jsonArray = new JSONArray();
        for (PortletType e : PortletType.values()) {
            JSONObject object = new JSONObject();
            object.put("typeId", e.getCode());
            object.put("typeName", e.getName());
            jsonArray.add(object);
        }
        return jsonArray.toString();
    }

    /**
     * 重寫toString,單個轉化成json
     * @return
     */
    @Override
    public String toString() {
        JSONObject object = new JSONObject();
        object.put("typeId",code);
        object.put("typeName",name);
        System.out.println(object.toString());
        return object.toString();
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

簡單的問題搞復雜了,其使用JSONObject能很方便的實現,千萬別自己拼字符串,費時費力。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM