FastJSON 序列化字母顺序排序问题

FastJSON 序列化输出JSON串时,默认按字段名的字母先后顺序排序输出
但是在某些场景下不希望排序,可以使用以下方式解决

  • 在类上加注解 JSONType(orders= “a,b,c”)
  • 在字段上加注解 JSONField(ordinal = 1)
  • 使用JSONObject put, 序列化时传入 SerializerFeature 枚举中的相关选项(待验证)

或者还有更方便的方法 是我 不知道的,,大家可以在评论里留言告知,感谢

不清楚 作者 为什么这么设计,为什么要设计注解来完成这个事情?感觉有点繁琐

应该提供一个选项 来决定如何排序

  • 字母升序
  • 字母降序
  • 字段声明顺序(不排序)

或者直接使用JackSon 框架来序列化,默认是按字段声明顺序
如果想要排序,可以在类上加注解 @JsonPropertyOrder(value =“a,c,b”)

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);//默认不过滤null字段,此处设置为过滤null字段
        try {
            String json = objectMapper.writeValueAsString(dto);//按字段顺序输出
            System.out.println("jackson序列化结果:" + json);
        } catch (Exception e){
            e.printStackTrace();
        }

你可能感兴趣的:(Other)