`
elvis4139
  • 浏览: 143786 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

解决json-lib String null 默认为 ""问题

阅读更多
最近用.Net和Java服务端通信,发现生成JSON时,json-lib自动把所有String中的null,转换成空串"",看源码发现是net.sf.json.processors.DefaultDefaultValueProcessor类中。默认就返回"",Number类型自动返回0。如下:
public class DefaultDefaultValueProcessor implements DefaultValueProcessor {
   public Object getDefaultValue( Class type ) {
      if( JSONUtils.isArray( type ) ){
         return new JSONArray();
      }else if( JSONUtils.isNumber( type ) ){
         if( JSONUtils.isDouble( type ) ){
            return new Double( 0 );
         }else{
            return new Integer( 0 );
         }
      }else if( JSONUtils.isBoolean( type ) ){
         return Boolean.FALSE;
      }else if( JSONUtils.isString( type ) ){
         return "";
      }
      return JSONNull.getInstance();
   }
}


修改源码改成如下即可。
 // return "";
    return null;


对于其他类型默认值也可以根据需要修改。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics