Скажем, у меня есть фасоль:Джексон - Изменение атрибута во время выполнения без аннотации
public class Msg {
private int code;
private Object data;
... Getter/setters...
}
И преобразовать его в формат JSON или XML с такого рода тестовый код:
public String convert() {
Msg msg = new Msg();
msg.setCode(42);
msg.setData("Are you suggesting coconuts migrate?");
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(msg);
}
Выход будет как-то так:
{"code":42,"data":"Are you suggesting coconuts migrate?"}
Теперь, скажем, я хочу, чтобы заменить атрибут «данные» с некоторым динамическим именем:
public String convert(String name) {
Msg msg = new Msg();
msg.setCode(42);
msg.setData("Are you suggesting coconuts migrate?");
ObjectMapper mapper = new ObjectMapper();
// ...DO SOMETHING WITH MAPPER ...
return mapper.writeValueAsString(msg);
}
Если я вызываю функцию обращенного ("тотализатор") Я woukld нравится иметь этот результат:
{"code":42,"toto":"Are you suggesting coconuts migrate?"}
Если я вызываю функцию обращенного ("заводной") I woukld хотели бы иметь этот выход:
{"code":42,"groovy":"Are you suggesting coconuts migrate?"}
конечно, я мог бы сделать строку, заменить после создания JSON, но если у вас есть ответ с ар Я возьму это.
Благодаря
Преобразуйте объект в 'Map' с вашими желаемыми ключами, а затем сериализуйте это? –
millimoose
Вы правы, это работает, и это то, что я делаю на данный момент, но мне было интересно, есть ли способ выполнения этого времени ... –