У меня есть класс DocumentBO, который имеет следующие атрибуты -Json к объекту с помощью Gson
public class DocumentBO implements IStorageBO {
private String aId;
private String studyId;
private Map<AlgorithmsEnum, JobIOStatus> status;
private String text;
private Collection<Sentence> sentences;
public String getaId() {
return aId;
}
public void setaId(String aId) {
this.aId = aId;
}
public String getStudyId() {
return studyId;
}
public void setStudyId(String studyId) {
this.studyId = studyId;
}
public Map<AlgorithmsEnum, JobIOStatus> getStatus() {
return status;
}
public void setStatus(Map<AlgorithmsEnum, JobIOStatus> status) {
this.status = status;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public Collection<Sentence> getSentences() {
return sentences;
}
public void setSentences(Collection<Sentence> sentences) {
this.sentences = sentences;
}
}
AlgorithmsEnum выглядит следующим образом -
public enum AlgorithmsEnum {
SENTIMENT("sentiment"),
INTENTION("intention"),
TOPIC("topic"),
NER("ner"),
UIMA("uima");
private final String value;
private AlgorithmsEnum(String value) {
this.value = value;
}
public String value() {
return value;
}
@Override
public String toString() {
return value;
}
public static AlgorithmsEnum fromValue(String value) {
if (value != null) {
for (AlgorithmsEnum aEnum : AlgorithmsEnum.values()) {
if (aEnum.value().equals(value)) {
return aEnum;
}
}
}
return null;
}
}
JobIOStatus также аналогична , Я успешно удалось создать JSON строку коллекции с помощью GSON с помощью следующей TypeToken
Type type = new TypeToken<Collection<DocumentBO>>() {}.getType();
Но, когда я пытаюсь воссоздать объект Collection, используя строку JSON, возвращаемой Gson и тот же TypeToken
, ключ то hashmap status
всегда возвращается как NULL, тогда как значение успешно создается. Как вы думаете, что может быть проблемой?