用json-lib中的JsonConfig处理null

通常,我们使用JSONSerializer.toJSON(list, jsonConfig)生成JOSN串。

默认情况下遇到null时,String类型转换为"",Integer,Float,Double等数值类型被转换为0,这往往不是我们想要的。

这段代码可以解决Integer类型的被默认转换为0的问题,这样null将替换0成为默认转换值。其它类型的设置类似。

import net.sf.json.JsonConfig;
import net.sf.json.processors.DefaultValueProcessor;

...

JsonConfig jsonConfig= new JsonConfig();
jsonConfig.registerDefaultValueProcessor(Integer.class,
    new DefaultValueProcessor(){
        public Object getDefaultValue(Class type){
            return JSONNull.getInstance();
        }
    });

你可能感兴趣的:(json,.net)