Use o nome da classe como chave raiz para serialização JSON Jackson
Suponha que eu tenha um pojo:
import org.codehaus.jackson.map.*;
public class MyPojo {
int id;
public int getId()
{ return this.id; }
public void setId(int id)
{ this.id = id; }
public static void main(String[] args) throws Exception {
MyPojo mp = new MyPojo();
mp.setId(4);
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
System.out.println(mapper.getSerializationConfig().isEnabled(SerializationConfig.Feature.WRAP_ROOT_VALUE));
System.out.println(mapper.writeValueAsString(mp));
}
}
Quando serializo usando o Jackson ObjectMapper, recebo apenas
true
{"id":4}
mas eu quero
true
{"MyPojo":{"id":4}}
Eu procurei por toda parte, a documentação de Jacksons é realmente desorganizada e quase sempre desatualizada.