【发布时间】:2018-02-16 23:22:43
【问题描述】:
我有这样的课:
class Car {
private Engine myEngine;
@JsonProperty("color")
private String myColor;
@JsonProperty("maxspeed")
private int myMaxspeed;
@JsonGetter("color")
public String getColor()
{
return myColor;
}
@JsonGetter("maxspeed")
public String getMaxspeed()
{
return myMaxspeed;
}
public Engine getEngine()
{
return myEngine;
}
}
和引擎类类似
class Engine {
@JsonProperty("fueltype")
private String myFueltype;
@JsonProperty("enginetype")
private String myEnginetype;
@JsonGetter("fueltype")
public String getFueltype()
{
return myFueltype;
}
@JsonGetter("enginetype")
public String getEnginetype()
{
return myEnginetype;
}
}
我想使用 Jackson 将 Car 对象转换为 JSON,其结构类似于
'car': {
'color': 'red',
'maxspeed': '200',
'fueltype': 'diesel',
'enginetype': 'four-stroke'
}
我已经尝试过this 中提供的答案,但它对我不起作用,因为字段名称与 getter 不同
我知道如果字段名称是引擎,我可以在引擎上使用 @JsonUnwrapped。但是这种情况怎么办。
【问题讨论】: