Jackson:将空HashMap序列化为空数组

时间:2018-06-20 09:12:13

标签: java json rest jackson ejb

我有一个此类,应使用Jackson将其属性序列化为JSon:

public class MicroClinicalInfo {

    @JsonProperty
    private Map<String, String> clinicalInfo;

    @JsonCreator
    public MicroClinicalInfo() {}

    public MicroClinicalInfo(DtoMicroSampleInfo dto) {
        this.clinicalInfo = new HashMap<String, String>();
        for(/* each clinical info entity received from EJB in dto */) {
            this.clinicalInfo.put(clinicalInfoKey, clinicalInfoDescr);
        }
    }
}

现在,如果临床信息不存在,则生成的JSon为{"clinicalInfo":{}},但在这种情况下,前端开发人员希望我返回一个空数组而不是一个空对象。因此,我应该返回{"clinicalInfo":[]}。我怎样才能做到这一点? 我正在尝试:

@JsonGetter
public Map<String, String> getClinicalInfo() {
    if (this.clinicalInfo != null && !this.clinicalInfo.isEmpty()) {
        return this.clinicalInfo;
    }
    else {

    }
}

但是我不知道如何给出统一的愿景。因为不为空的HashMap的序列化是正确的,但是我不知道如何将其呈现为空数组。 谢谢大家

0 个答案:

没有答案