Java Jackson:如何将字符串读取为列表?

Java Jackson:如何将字符串读取为列表?,java,json,jackson,Java,Json,Jackson,我们现在的班级看起来像 public class Attributes { private String mapping; ..... 及 这项技术运行良好,并已交付给客户 我们将JSON转换为Attribute类的方法是 JSON.readValue(jsonFile, Attribute.class); 最近的要求是,映射将是列表,而不是字符串 起初,我想到的快速变化是将映射更改为列表,但这会破坏现有客户机 我试着写了一个这样的测试 assertEquals("display

我们现在的班级看起来像

public class Attributes {

  private String mapping;

  .....

这项技术运行良好,并已交付给客户

我们将
JSON
转换为
Attribute
类的方法是

JSON.readValue(jsonFile, Attribute.class);
最近的要求是,
映射
将是
列表
,而不是
字符串

起初,我想到的快速变化是将
映射
更改为
列表
,但这会破坏现有客户机

我试着写了一个这样的测试

assertEquals("displayName", configuration.getMapping().get(0));  
结果失败了

com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of VALUE_STRING token
问题
我怎样才能告诉
Jackson
字符串
读取为'List'呢?它将是1个项目的列表,但将向后兼容

谢谢

答案是

com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of VALUE_STRING token
objectMapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);