2017-11-18 231 views
1

我有下面的類:傑克遜序列化到陣列

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

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

它使用傑克遜序列化到{"people":["Jhon","Rose"]}

我想序列化到["Jhon","Rose"]沒有自定義序列。

有什麼建議嗎?

任何幫助將不勝感激!

回答

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 {