JSONObject 自定义过滤配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 自定义过滤配置的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode 配置 用户自定义代码片段 自定义自动代码补充

Java自定义方法转换前端提交的json字符串为JsonObject对象

VSCode自定义代码片段——CSS选择器

VSCode自定义代码片段6——CSS选择器