我有以下课程:
class People
{
private List<String> people = new ArrayList<>();
public People()
{
people.add("Jhon");
people.add("Rose");
}
}
使用jackson将其序列化为{"people":["Jhon","Rose"]}
我想在不使用自定义序列化程序的情况下序列化为["Jhon","Rose"]
。
任何建议?
任何帮助将不胜感激!
答案 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 {