How to enforce ACCEPT_SINGLE_VALUE_AS_ARRAY in jackson's deserialization process using annotation

后端 未结 4 2092
隐瞒了意图╮
隐瞒了意图╮ 2020-12-01 14:27

Is there a way to use annotation on a List property in a class to use ACCEPT_SINGLE_VALUE_AS_ARRAY in Jackson? I\'m using Spring and getting the b

4条回答
  •  渐次进展
    2020-12-01 14:48

    You can use @JsonFormat annotation,

    public class MyClass {
    
        @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
        private List value;
    
    }
    

    To work with this you need to have Jackson version min 2.7.0. You can also use other available JsonFormat Features

    For version 2.6.x

    @Autowired private ObjectMapper mapper;
    //...
    
    mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
    
    • Add this code to your Initializer Class.
    • Or you can directly configure Jackson in your Bean Configuration

    These would solve the issue but it will be activated for every deserialization process.

提交回复
热议问题