杰克逊序列化到阵列

时间:2017-11-18 13:39:04

标签: json serialization jackson

我有以下课程:

class People
{
    private List<String> people = new ArrayList<>();

    public People()
    {
        people.add("Jhon");
        people.add("Rose");
    }
}

使用jackson将其序列化为{"people":["Jhon","Rose"]}

我想在不使用自定义序列化程序的情况下序列化为["Jhon","Rose"]

任何建议?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

最简单的方法是获取字段并序列化而不是包装器对象:

People people = new People();
String json = mapper.writeValueAsString(people.getPeople());

如果这不是一个选项,Converter可能比自定义序列化程序更简单:

class PeopleToList extends StdConverter<People, List<String>> {
    @Override public List<String> convert(People people) {
        return people.getPeople();
    }
}

并指定使用它:

@JsonSerialize(converter = PeopleToList.class)
class People {