1. 程式人生 > >JSON 自定義序列化(過濾掉不想要的屬性)

JSON 自定義序列化(過濾掉不想要的屬性)

    這裡只講JSON-LIB和FastJson兩種Json工具的序列化過濾問題
    比如,我想過濾的屬性有id,和name,先演示json-lib
    1.Json-Lib

        //通過json-lib將資料序列化為json格式
        JsonConfig jsonConfig = new JsonConfig();
        //進行過濾
        jsonConfig.setExcludes(new String[]{"id","name"});
        //轉化成json資料格式
        JSONObject jsonObject = new JSONObject();
        String json = jsonObject.toString();
        //將json資料通過流寫入到客戶端
        HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("text/json;charset=UTF-8");
        response.getWriter().print(json);

    2.FastJson
        
        //使用fastjson,過濾
        SimplePropertyPreFilter
filter = new SimplePropertyPreFilter();
        //過濾欄位
        Set<String> set = filter.getExcludes();
        set.add("id");
        set.add("name");
        String jsonString = JSON.toJSONString(pageBean,filter);
        //處理中文亂碼問題!
        HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("text/json;charset=UTF-8");
        response.getWriter().print(jsonString);

    第一次寫blog,知識的積累,貴在點滴!