GSON 反序列化行为

GSON deserialization behaviour

我正在将 JSON 有效负载反序列化为 POJO,在 POJO 中我有一个 HashMap (userIdMap),声明和初始化如下:

public class ObjectProvider {

    private String companyId;

    @Expose(serialize = true, deserialize = true)
    @SerializedName("entity_id")
    private String entityId;

    @Expose(serialize = true, deserialize = true)
    @SerializedName("url")
    private String url;


    private String responseTemplate;

    private Map<String, String> userIdMap = new HashMap<String, String>();

    public String getEntityId() {
        return entityId;
    }

    ...// REST OF CODE REMOVED FOR READABILITY

}   

然而,在创建 POJO 之后,当我尝试访问 userIdMap 属性以执行 GET 操作时,我得到 java.lang.NullPointerException。关于可能出错的任何想法?

问题已解决。看起来 class 中缺少默认构造函数。添加默认构造函数并初始化 Map 后,它就可以正常工作了。