fastjson MapSortField排序不稳定

b0zn9rqh  于 2021-11-27  发布在  Java
关注(0)|答案(2)|浏览(1545)

MapSortField对于开发查看排序非常重要 但是测试发现1.2.51版非常不稳定 有时候能生效 有时候不起作用

@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
    //创建FastJson信息转换对象
    FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
    //创建FastJsonConfig对象并设定序列化规则
    FastJsonConfig config = new FastJsonConfig();
    config.setSerializerFeatures(
            //保留null的字段
            SerializerFeature.WriteMapNullValue,
            //Date使用ISO8601格式输出 默认为false 不使用默认时间戳
            SerializerFeature.UseISO8601DateFormat,
            //FastJson新版本Map的序列化没有做排序再输出,原因是通过TreeMap排序很影响性能。1.2.27版本中增加SerializerFeature.MapSortField实现同样的功能
            SerializerFeature.MapSortField
    );
    //规则赋予转换对象
    converter.setFastJsonConfig(config);
    converter.setDefaultCharset(Charset.forName("UTF-8"));
    //默认是MediaType.ALL
    converter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON_UTF8));
    return new HttpMessageConverters(converter);
}
pprl5pva

pprl5pva1#

不是不稳定 好像直接就没效果 多模块项目 fastjson在core模块

qc6wkl3g

qc6wkl3g2#

@wenshao 现在设置MapSortField无效啊 能不能不按首字母排序 有没有方法 都试了 不生效 有时候按照自己的顺序开发阶段还是有很大必要的 因为方便查看

相关问题