fastjson2
fastjson2 copied to clipboard
fastjson tojsonString 序列化对象顺序被打乱
不想使用注解@JSONField 方式在字段上面, 因为字段很多很麻烦 SerializeConfig 中有方法可以处理这种方式 或者SerializerFeature可以处理吗? 使用的版本是 com.alibaba:fastjson:1.2.15
对象字段的顺序是依赖编译器行为,这个是无法确定的
但默认不应该是不打乱吗,我使用了hutool 的JSONUtil.toJsonStr 的方式是默认是不会打乱的, 或者其它序列化工具应该也不会打乱 被打乱是因为使用了hashmap吗 而不是使用LinkedHashMap吗?是这样的吗?还是我想的简单了
确实搞不懂,一个升级这么久的产品,连个排序都有问题。加了@JSONType(alphabetic = false),更乱,也不是Java Bean定义顺序排序。本来使用的是Jackson,想换成fastjson2,发现有这么个大问题。
不应该打乱顺序的,原本的Feature.OrderedField在2版本无了
我看源码里面会通过字段名排序,能否加一个Feature控制走Java Bean定义的排序
com.alibaba.fastjson2.writer.FieldWriter.compareTo(),toJSONString()会调用该方法排序,如果没配置ordinal则会根据字段名走String.compareTo方法进行排序,是否可以增加一个Feature走JavaBean定义排序
fastjson也是治标不治本的办法
fastjson https://github.com/alibaba/fastjson/issues/3115#issuecomment-768216153
fastjson2是该也要加个了,issue都这么久了