【发布时间】:2015-05-27 13:48:28
【问题描述】:
如果我有这种情况可能吗
class DefaultFruit {
taste: String
}
class Fruit {
fruit: DefaultFruit
color: String
}
提供一些注解@JSON注解来转换对象结构
到:
{
color: "",
taste: "",
}
【问题讨论】:
如果我有这种情况可能吗
class DefaultFruit {
taste: String
}
class Fruit {
fruit: DefaultFruit
color: String
}
提供一些注解@JSON注解来转换对象结构
到:
{
color: "",
taste: "",
}
【问题讨论】:
是的,您可以使用 @JsonUnwrapped 注释 fruit 属性/字段,并且 DefaultFruit 属性将与 Fruit 属性一起被序列化/反序列化。
public static class DefaultFruit {
public String taste;
}
public static class Fruit {
@JsonUnwrapped
public DefaultFruit fruit;
public String color;
}
@Test
public void serialize_unwrapped() throws Exception {
Fruit fruit = new Fruit();
fruit.color = "red";
fruit.fruit = new DefaultFruit();
fruit.fruit.taste = "sweet";
assertThat(mapper.writeValueAsString(fruit),
equalTo("{\"taste\":\"sweet\",\"color\":\"red\"}"));
}
【讨论】: