JSON 自定義序列化(過濾掉不想要的屬性)
阿新 • • 發佈:2019-01-31
這裡只講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,知識的積累,貴在點滴!
比如,我想過濾的屬性有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
//過濾欄位
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,知識的積累,貴在點滴!