java - 忽略 Java Enum 的 Json 中的 getter
问题描述
这是我的枚举:
public enum BundleStatus {
NEW,
SUCCESS,
CANCEL,
FAIL,
WAIT_CANCEL,
PARTIAL_SUCCESS,
PROCESSING,
NO_FUNDS,
HOLD_PAY,
WAIT_PAY;
public static final Set<BundleStatus> NO_ACTIVE_STATUSES = new HashSet<>(Arrays.asList(CANCEL, FAIL));
public static final Set<BundleStatus> SUCCESS_STATUSES = new HashSet<>(Arrays.asList(SUCCESS, PARTIAL_SUCCESS));
private static final Set<BundleStatus> FAIL_CANCEL_STATUSES = new HashSet<>(Arrays.asList(FAIL, WAIT_CANCEL, CANCEL));
public static final Set<BundleStatus> STATUS_BUNDLE_FOR_EXECUTE_MAIN = new HashSet<>(
Arrays.asList(SUCCESS, PARTIAL_SUCCESS, WAIT_CANCEL)
);
public static final Set<BundleStatus> STATUS_BUNDLE_FOR_EXECUTE_DEPENDENT = new HashSet<>(
Arrays.asList(SUCCESS, PARTIAL_SUCCESS, WAIT_CANCEL, CANCEL, FAIL)
);
public static final Set<BundleStatus> STATUS_BUNDLE_FOR_GET_PRIMARY = new HashSet<>(
Arrays.asList(PROCESSING, WAIT_CANCEL, SUCCESS, PARTIAL_SUCCESS)
);
public static final Map<String, BundleStatus> EVENT_TYPE_MAPPING = ImmutableMap.of(
"noFunds", NO_FUNDS,
"holdPay", HOLD_PAY
);
public static final Set<BundleStatus> WAITING_PAY_BUNDLE_STATUSES = new HashSet<>(
Arrays.asList(WAIT_PAY, HOLD_PAY, NO_FUNDS));
public boolean isFailCancel() {
return FAIL_CANCEL_STATUSES.contains(this);
}
public boolean isFailCreate() {
return NO_ACTIVE_STATUSES.contains(this);
}
public boolean isSuccessStatus() {
return SUCCESS_STATUSES.contains(this);
}
public boolean isHasActivePayProcess() {
return WAITING_PAY_BUNDLE_STATUSES.contains(this);
}
}
当我尝试将其序列化为 JSON 对象时,我正在使用 map 获取对象,其中 key 是字段的名称(该对象是另一个类的字段),而 value 是包含所有布尔 getter 的数组:
{
"clientId":"siebel_id_one",
"code":"premium",
"newStatus":{"failCreate":false,"failCancel":false,"hasActivePayProcess":false,"successStatus":true}
}
我希望“newStatus”字段仅显示为"newStatus": "SUCCESS"
. 如何解决?
解决方案
推荐阅读
- node.js - 如何从 AWS SAM 本地 Docker 容器访问另一个 Docker 容器(运行节点快速服务器)?
- reactjs - 如何正确更新reducer
- mysql - 如何让 Visual Studio 完全接受我的 MySQL 数据源?
- javascript - 删除元素仅在某些时候有效
- google-api - 从 google doc 更新链接工作表的脚本
- c# - 加入多个表 - Nhibernate
- python - 将 crontab 与 dzdo su 一起使用
- amazon-web-services - AWS ECS nginx:在上游找不到 [emerg] 主机
- r - 如何使用 igraph R 包比较两个图以识别两个图之间相同/不同边的数量
- java - 如何立即杀死Java中的线程