zoukankan      html  css  js  c++  java
  • 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"

  • 相关阅读:
    堆排序优先级队列
    贪心算法装载问题
    贪心算法最小生成树
    贪心算法活动安排
    回文质数
    堆排序算法
    递归算法排列问题
    排序算法
    贪心算法Dijkstra
    贪心算法哈夫曼编码
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/6756657.html
Copyright © 2011-2022 走看看