有时候为了json方便查看,先后顺序尤为重要。
@Data
public class MsgRuleLabelReq {
private String labelName;
private List<MsgRuleItem> items;
@Data
// @JSONType(orders = {"ruleParams", "comparator", "value"})
public static class MsgRuleItem {
private MsgRuleParam ruleParams;
private String comparator;//约束条件
private String value;//约束值
}
@Data
public static class MsgRuleParam {
private String argument;//条件名
private String explain;//描述
}
}
输出结果:
{"comparator":"等于","ruleParams":{"argument":"条件一","explain":"描述一"},"value":"值一"}
下面使用JSONObject.toJSONString对实体类属性输出排序。
@Data
public class MsgRuleLabelReq {
private String labelName;
private List<MsgRuleItem> items;
@Data
@JSONType(orders = {"ruleParams", "comparator", "value"})//先后顺序从前到后
public static class MsgRuleItem {
private MsgRuleParam ruleParams;
private String comparator;//约束条件
private String value;//约束值
}
@Data
public static class MsgRuleParam {
private String argument;//条件名
private String explain;//描述
}
}
输出结果:
{"ruleParams":{"argument":"条件一","explain":"描述一"},"comparator":"等于","value":"值一"}