Javabean转JSON时让所有的属性名key大写

最近有个需求是调用人家的webservice向他们传数据,要格式化为json字符串,咱JAVA可以面向对象的语言,当然是把需要的格式设计成类喽,然后再调用nf.json进行转换。
但是却有个问题,我的属性名都是小写的,可以对方要求JSON的key全部为大写。百度了大半天发现了方法

需要调用JsonConfig这个配置类,具体实现这个功能的是registerJsonPropertyNameProcessor这个属性

由于有多个需要转换的处理类,写在了一个父类里,转换时继承这个类调用这个方法即可

public abstract class convertJsonArrHandler {
    protected Class aClass;

    public convertJsonArrHandler(){
        ParameterizedType pa= (ParameterizedType) this.getClass().getGenericSuperclass();
        this.aClass= (Class) pa.getActualTypeArguments()[0];
    }


    public JSONArray getJsonArr(List> list){
        JsonConfig jsonConfig=new JsonConfig();
        PropertyNameProcessor propertyNameProcessor=new PropertyNameProcessor() {
            @Override
            public String processPropertyName(Class aClass, String s) {
                System.out.println("aClass = [" + aClass + "], s = [" + s + "]");
                return s.toUpperCase();
            }
        };
        jsonConfig.registerJsonPropertyNameProcessor(RequestModel.class,propertyNameProcessor);
        jsonConfig.registerJsonPropertyNameProcessor(aClass,propertyNameProcessor);
        JSONArray jsonArray=JSONArray.fromObject(list,jsonConfig);
        return jsonArray;


    }

}

你可能感兴趣的:(Javabean转JSON时让所有的属性名key大写)