我们提取了一个外部API(我们无法更改我们收到的JSON),它会生成带有扁平键的JSON。例如:
{
"composite.key": "value",
"normal": "another value",
"composite.key2": "back here again..."
}
我们理想地希望反序列化为:
public class SomeObject {
public String normal;
public Composite composite;
}
public class Composite {
public String key;
public String key2;
}
虽然我们知道我们可以编写自定义反序列化器,但我首先想要检查GSON中是否支持使用注释或其他方法。
答案 0 :(得分:0)
您可以在Java字段上使用GSON的{{3}}注释。
像这样的东西
public class Composite {
@SerializedName("composite.key")
public String key;
@SerializedName("composite.key2")
public String key2;
}
答案 1 :(得分:0)
我认为这样做的长短只是使用Jackson,它通过用@JsonUnwrapped(prefix="composite.")
注释包装对象来提供内置支持。