有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将Java中的对象列表序列化为json

目前,我正在尝试使用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;
}

共 (2) 个答案

  1. # 1 楼答案

    这就是你要找的吗

    String json = mapper.writeValueAsString(!CollectionUtils.isEmpty(testObject) && testObject.size()==1? testObject.get(0):testObject);
    
  2. # 2 楼答案

    找到了一个SerializationFeature WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED,通过它我们可以在JSON中获得上述场景