有問題可聯系我QQ:429810818

          posts - 4, comments - 6, trackbacks - 0, articles - 8
          如題,JSON在轉換的時候如果你的類型是BigDecimal類型的,DAO層查找出來的數據是為null,經過JSON一轉換之后就變成了0
          JSON的JSONObject類的   private static void setValue( JSONObject jsonObject, String key, Object value, Class type,
                   JsonConfig jsonConfig, boolean bypass ) 這個方法里面的 if( value == null ){
                   value = jsonConfig.findDefaultValueProcessor( type )
                         .getDefaultValue( type );這個方法處理默認值

          最終會有一個類處理所有的無值的默認值

          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();
             }
          }

          所以有同樣問題的時候可以試著修改JSON的源碼

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 吴堡县| 西宁市| 浮山县| 元氏县| 丰顺县| 宕昌县| 惠水县| 清远市| 望城县| 新巴尔虎左旗| 林芝县| 谷城县| 寿光市| 绥化市| 湘西| 休宁县| 岗巴县| 克拉玛依市| 西宁市| 松江区| 独山县| 东丽区| 扬州市| 江西省| 万山特区| 河西区| 海兴县| 北安市| 巴林右旗| 炎陵县| 莱西市| 兰考县| 龙岩市| 枝江市| 阜阳市| 石楼县| 保德县| 弥渡县| 武城县| 高平市| 仲巴县|