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();
}