Я сделал это с помощью аннотации @JsonRootName
, например:
@JsonRootName( value = "smsMessageRequest" )
public class TextMessage {
private String message;
private String address;
}
public static String toJson(Object object) throws IOException {
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(object);
}
Который дал:
{
"smsMessageRequest" : {
"message" : "abc",
"address" : "123"
}
}