posts - 3, comments - 0, trackbacks - 0, articles - 1

          springboot jackson全局配置

          Posted on 2021-09-08 13:46 whitesky 閱讀(897) 評論(0)  編輯  收藏
          springboot:2.3.5.RELEASE

           1 @Configuration
           2 public class JsonConfig {
           3 
           4     @Bean
           5     public NumberFormatCustomizer getNumberFormatCustomizer() {
           6         // 配置jackson全局浮點數格式化輸出
           7         return new NumberFormatCustomizer();
           8     }
           9 
          10     static class NumberFormatCustomizer implements Jackson2ObjectMapperBuilderCustomizer {
          11 
          12         @Override
          13         public void customize(Jackson2ObjectMapperBuilder jacksonObjectMapperBuilder) {
          14             // 配置json序列化
          15             // long類型輸出字符串
          16             // double和BigDecimal保留兩位小數截斷輸出字符串
          17             jacksonObjectMapperBuilder
          18                     .serializerByType(Long.classnew StringSerializer())
          19                     .serializerByType(Long.TYPE, new StringSerializer())
          20                     .serializerByType(Double.classnew NumberSerializer())
          21                     .serializerByType(Double.TYPE, new NumberSerializer())
          22                     .serializerByType(BigDecimal.classnew NumberSerializer());
          23         }
          24     }
          25 
          26     public static class NumberSerializer extends JsonSerializer<Number> {
          27 
          28         private NumberFormat numberFormat;
          29         public NumberSerializer() {
          30             this.numberFormat = NumberFormat.getInstance();
          31             // 最多兩位小數
          32             this.numberFormat.setMaximumFractionDigits(2);
          33             // 截斷
          34             this.numberFormat.setRoundingMode(RoundingMode.FLOOR);
          35         }
          36 
          37         @Override
          38         public void serialize(Number value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
          39             if (value != null) {
          40                 gen.writeString(this.numberFormat.format(value));
          41             }
          42         }
          43     }
          44 }


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


          網站導航:
           
          主站蜘蛛池模板: 南漳县| 乐平市| 商洛市| 泰兴市| 延吉市| 兴山县| 长沙县| 龙泉市| 剑河县| 灵台县| 泰顺县| 武陟县| 乃东县| 富顺县| 招远市| 绥中县| 锡林郭勒盟| 北票市| 墨竹工卡县| 工布江达县| 桐乡市| 和硕县| 蓝山县| 浮山县| 凤翔县| 泰安市| 佛坪县| 德惠市| 石阡县| 栾城县| 桂阳县| 丰台区| 莱芜市| 安宁市| 大化| 枞阳县| 耒阳市| 遵义市| 犍为县| 聂荣县| 晴隆县|