我可以为您进行翻译。这段文字描述了一个Web服务的结果,它返回布尔值或单例映射。例如:
布尔值结果:
地图结果:
所有多态示例都使用
编辑
代码更新部分:
布尔值结果:
true
false
单例映射结果:{"key":"value"}
{
id: 24428,
rated: false
}
地图结果:
{
id: 78,
rated: {
value: 10
}
}
我可以轻松地分别映射它们,但如何通用地做到这一点?
基本上,我想将其映射到一个类,例如:
public class Rating {
private int id;
private int rated;
...
public void setRated(?) {
// if value == false, set rated = -1;
// else decode "value" as rated
}
}
所有多态示例都使用
@JsonTypeInfo
基于数据中的属性进行映射,但在这种情况下我没有这个选项。
编辑
代码更新部分:
@JsonProperty("rated")
public void setRating(JsonNode ratedNode) {
JsonNode valueNode = ratedNode.get("value");
// if the node doesn't exist then it's the boolean value
if (valueNode == null) {
// Use a default value
this.rating = -1;
} else {
// Convert the value to an integer
this.rating = valueNode.asInt();
}
}