У меня есть строка, разделенная точкой с запятой
value1; value2; value3; etc..
Я использую Jackson ObjectMapper для десериализации ответа json в POJO, но у меня возникают проблемы с выяснением, как сообщить Джексону, что он должен разделите это строковое свойство на ';'
Поддерживается ли эта функция Джексоном?
Надеясь на что-то вроде
public class POJO {
@JsonFormat(shape = JsonFormat.Shape.ARRAY, delimitOn = ";")
private List<String> category;
}
Я также попробовал свой собственный десериализатор, основанный на этом ответ но Джексон пожаловался на невозможность преобразовать String в List - может, я сделал это неправильно?
public class DelimitedStringDeserializer extends StdDeserializer<List<String>> {
protected DelimitedStringDeserializer() {
super(List.class);
}
@Override
public List<String> deserialize(org.codehaus.jackson.JsonParser jp, org.codehaus.jackson.map.DeserializationContext ctxt) throws IOException, org.codehaus.jackson.JsonProcessingException {
return Arrays.asList(jp.getText().split(";"));
}
}