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);