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"

时间: 2024-10-11 11:17:09

JSONObject 自定义过滤配置的相关文章

springCloud(8):Ribbon实现客户端侧负载均衡-自定义Ribbon配置

一.简介 很多场景下,可能根据需要自定义的Ribbon的配置,例如修改Ribbon的负载均衡规则等.Spring cloud Camden允许使用Java代码或属性自定义Ribbon的配置. 二.使用Java代码自定义Ribbon配置 在Spring cloud中,Ribbon的默认配置如下,格式是:BeanType beanName:ClassName 1.IClientConfig ribbonClientConfig:DefaultClientConfigImpl 2.IRule ribb

手把手教你完成MaxCompute JDBC自定义日志配置

注:MaxCompute原名ODPS,是阿里云自研的大数据计算平台,文中出现的MaxCompute与ODPS都指代同一平台,不做区分 与MaxCompute JDBC相关的日志有两种,一种是由JDBC内部代码直接输出的日志,第二种是JDBC抛出异常后,由调用JDBC API的宿主应用捕获后输出的.由于第二类日志取决于宿主应用如何处理异常及如何配置日志体系,所以本文主要讨论的对象是第一种日志. 在2.0-beta之前,MaxCompute JDBC的日志只会输出到命令行终端(标准输出流),它底层使

【.net 深呼吸】自定义缓存配置(非Web项目)

在前一篇烂文中,老周简单讲述了非Web应用的缓存技术的基本用法.其实嘛,使用系统默认方案已经满足我们的需求了,不过,如果你真想自己来配置缓存,也是可以的. 缓存的自定义配置可以有两种方案,一种是用代码在应用程序中配置,即实例化MemoryCache对象时,可以向构造函数传递一个NameValueCollection实例,数据结构就是key-value形式,这些配置项的名字其实就是MemoryCacheElement类的以下三个属性:CacheMemoryLimitMegabytes.Physic

微信公众平台新增获取自动回复和自定义菜单配置接口

微信公众平台自动回复功能可以为运营者减少了重复回复消息的次数,但如果自动回复的数量多的话管理就比较麻烦:自定义菜单相当于你这个公众号的导航,但有些公众号会限制不能添加外部链接.现在好了,公众平台开发者接口更新,新增获取自动回复和自定义菜单配置接口,对所有公众号开放. 新增的接口具体是: 1. 获取自动回复规则接口 该接口可以获取公众号设置的自动回复规则,包括关注后自动回复.消息自动回复和关键词自动回复. 开发者可以通过该接口,获取公众号当前使用的自动回复规则,包括关注后自动回复.消息自动回复(6

weex 项目开发(五)自定义 过滤函数 和 混合 及 自定义 Header 组件

1.自定义  过滤函数 src / filters / index.js /** * 自定义 过滤函数 */ export function host (url) { if (!url) return '' const host = url.replace(/^https?:\/\//, '').replace(/\/.*$/, '') const parts = host.split('.').slice(-3) if (parts[0] === 'www') parts.shift() re

SpringCloud系列五:Ribbon 负载均衡(Ribbon 基本使用、Ribbon 负载均衡、自定义 Ribbon 配置、禁用 Eureka 实现 Ribbon 调用)

1.概念:Ribbon 负载均衡 2.具体内容 现在所有的服务已经通过了 Eureka 进行了注册,那么使用 Eureka 注册的目的是希望所有的服务都统一归属到 Eureka 之中进 行处理,但是现在的问题,所有的微服务汇集到了 Eureka 之中,而客户端的调用也应该通过 Eureka 完成.而这种调用就可以利用 Ribbon 技术来实现. Ribbon 是一个服务调用的组件,并且是一个客户端实现负载均衡处理的组件.服务器端实现负载均衡可以使用 Nginx. HAProxy.LVS 等. 2

Feign自定义编程配置

1.Feign自定义编程配置入门  2.Feign自定义配置详解 原文地址:https://www.cnblogs.com/linjiqin/p/10188118.html

详解Springboot中自定义SpringMVC配置

详解Springboot中自定义SpringMVC配置 WebMvcConfigurer接口 ? 这个接口可以自定义拦截器,例如跨域设置.类型转化器等等.可以说此接口为开发者提前想到了很多拦截层面的需求,方便开发者自由选择使用.由于Spring5.0废弃了WebMvcConfigurerAdapter,所以WebMvcConfigurer继承了WebMvcConfigurerAdapter大部分内容. WebMvcConfigurer接口中的方法 举例1:configurePathMatch配置

JSP自定义标签配置

JSP自定义标签 <taglib> <taglib-uri>/WEB-INF/you.tld</taglib-uri> <taglib-location>/WEB-INF/you.tld</taglib-location> </taglib> 由这个配置可知,JSP自定义标签配置文件不是放在lib目录下,也不是放在classes文件夹中,更不是放在WebRoot目录下,而是放在WEB-INF目录下