当前我正在尝试使用Jackson将对象列表序列化到数组。这里的场景是,如果列表只包含一个元素,那么列表应该序列化为对象,而不是数组。有这样的规定吗?
我创建了一个Java模型,并使用下面的代码串行化为JSON
A testObject = new A();
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(testObject);
System.out.append (json)
数据模型
class A{
private B b;
}
Class B{
private ArrayList<C> c;
}
Class c
{
private int i;
private String test;
}
找到一个SerializationFeatureWRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED
,通过它我们可以在JSON 中获得上述场景
这就是您想要的吗?
String json = mapper.writeValueAsString(!CollectionUtils.isEmpty(testObject) && testObject.size()==1? testObject.get(0):testObject);