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();
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章