java實體:
package com.hundsun.amos.basics.api.bean; import java.io.Serializable; import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; /** * * @Description: 通告信息導出excel表dto * @author: caigb28355 * @createTime: 2019年11月13日F * @version: */ @Data public class NoticeInfoExcelDTO implements Serializable { /** * 序列號 */ private static final long serialVersionUID = -2086685169844189801L; /** * 通告ID */ private String noticeId; /** * 通告標題 */ @JSONField(ordinal = 1) private String noticeTitle; /** * 通告類型 (1、產品類;2、運營服務類;3、公司發文;4、內部通知;5、其他;6、投資人通告) */ private String noticeType; /** * 通告級別 (1、緊急;2、重要;3、普通) */ private String noticeLevel; /** * 通告群體 (通告群體 2、廣發證券用戶;4、部分角色) */ private String noticeColony; /** * 生效日期(默認為創建日期) */ private String noticeBegdate; /** * 截止日期(為空則認為永久有效) */ @JSONField(ordinal = 9) private String noticeEnddate; /** * 文件編號 */ @JSONField(ordinal = 6) private String noticeFileCode; /** * 通告內容 */ private String noticeContent; /** * 通告狀態(1、未發布;2、已發布;3、已撤銷) */ private String noticeStatus; /** * 強制通知標記(0、否;1、是) */ private String pushNotification; /** * 發布人 */ private String publishUser; /** * 發布時間 */ @JSONField(ordinal = 8) private String publishTime; /** * 創建人 */ private String creator; /** * 創建時間 */ private String createrTime; /** * 操作人 */ private String operator; /** * 操作人 */ @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private String operateTime; /** * 已閱讀人數 */ @JSONField(ordinal = 10) private String noticeReadNum; /** * 發布人姓名 */ @JSONField(ordinal = 7) private String publishUserName; /** * 通告類型名稱 */ @JSONField(ordinal = 4) private String noticeTypeName; /** * 通告級別名稱 */ @JSONField(ordinal = 3) private String noticeLevelName; /** * 通告群體名稱 */ @JSONField(ordinal = 2) private String noticeColonyName; /** * 通告狀態名稱 */ @JSONField(ordinal = 5) private String noticeStatusName; /** * 當前登陸人用戶ID */ private String userId; /** * 是否已讀 */ private String isReadFlag; /** * 是否已讀名稱 */ private String isReadFlagName; /** * 標題名字 */ @JSONField(serialize = false) private String titleName; }
實現類:
// Object轉換為HashMap用法,並且為了有序性使用LinkedHashMap,按照@JSONField(ordinal = 1)排序 LinkedHashMap<String, String> linkMap = JSON.parseObject(JSON.toJSONString(input.getParam()), LinkedHashMap.class, 1, Feature.OrderedField);
注意:
@JSONField(serialize = false)表示在序列化之后將不會有這個屬性存在