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 }


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


          網站導航:
           
          主站蜘蛛池模板: 贵州省| 渝中区| 信阳市| 双辽市| 东台市| 巴东县| 马公市| 大悟县| 伊金霍洛旗| 浮梁县| 车险| 比如县| 湛江市| 新龙县| 格尔木市| 阜康市| 巫山县| 望江县| 连州市| 平原县| 宣恩县| 宜丰县| 桂林市| 潢川县| 五河县| 万荣县| 辰溪县| 纳雍县| 新干县| 无为县| 都昌县| 鄂伦春自治旗| 巨鹿县| 永胜县| 清徐县| 绥芬河市| 柘城县| 那曲县| 绥化市| 洞口县| 金沙县|