首页 > 代码库 > JSONObject 自定义过滤配置

JSONObject 自定义过滤配置

一、自定义过滤器说明

  PropertyPreFilter 根据PropertyName判断是否序列化 
  PropertyFilter 根据PropertyName和PropertyValue来判断是否序列化 
  NameFilter 修改Key,如果需要修改Key,process返回值则可 
  ValueFilter 修改Value 
  BeforeFilter 序列化时在最前添加内容 
  AfterFilter 序列化时在最后添加内容

二、NameFilter使用demo

 JSONObject.toJSONString(data, new NameFilter() {                private String underscoreName(String name) {                    if (StringUtils.isEmpty(name)) {                        return "";                    }                    StringBuilder result = new StringBuilder();                    result.append(name.substring(0, 1).toLowerCase());                    for (int i = 1; i < name.length(); ++i) {                        String s = name.substring(i, i + 1);                        String slc = s.toLowerCase();                        if (!(s.equals(slc))) {                            result.append("_").append(slc);                        } else {                            result.append(s);                        }                    }                    return result.toString();                }                @Override                public String process(Object object, String name, Object value) {                    return underscoreName(name);                }            })

  转换效果:将 property 中的 name = "submitOrder" 转换为 name = "sbumit_order"

JSONObject 自定义过滤配置