Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jackson:将空或空哈希映射序列化为空数组_Java_Json_Rest_Jackson_Ejb - Fatal编程技术网

Java Jackson:将空或空哈希映射序列化为空数组

Java Jackson:将空或空哈希映射序列化为空数组,java,json,rest,jackson,ejb,Java,Json,Rest,Jackson,Ejb,我有一个类,它的属性应该使用Jackson序列化为JSon: public class MicroClinicalInfo { @JsonProperty private Map<String, String> clinicalInfo; @JsonCreator public MicroClinicalInfo() {} public MicroClinicalInfo(DtoMicroSampleInfo dto) {

我有一个类,它的属性应该使用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);
        }
    }
}
但我不知道如何给出一个统一的愿景。因为非空HashMap的序列化是正确的,但我不知道如何将其呈现为空数组。
谢谢大家

当临床信息存在时,您是否传递json对象作为响应?是的,当临床信息存在时,我被要求返回一个json对象,该json对象的数组键值如下
{“clinicalInfo”:{“扇区注释”:“左肘”}
序列化HashMap时会自动执行此操作。如果信息不存在,则发送空对象是完全正确的。这对前端的响应处理也很有帮助。反正他们想要一个空数组……也许我应该把HashMap包装在ArrayList中?类似于
private List clinicalInfo=new ArrayList()
?如果必须这样做,则返回Collections.emptyList();这也会有帮助。
@JsonGetter
public Map<String, String> getClinicalInfo() {
    if (this.clinicalInfo != null && !this.clinicalInfo.isEmpty()) {
        return this.clinicalInfo;
    }
    else {

    }
}