我将获得以下格式的JSON
"address":
{
"type": "Temporary"
}
以下是地址类。
class Address
{
AddressType type;
public Address(AddressType type)
{
this.type = type;
}
}
class AddressType
{
private String type;
public AddressType(String type)
{
this.type = type;
}
}
如果Address.java的类型为String,那么从JSON
转换为Address对象会更容易。但我不确定如何将JSON
转换为Address对象,其中“type”将转换为AddressType
对象。我会用杰克逊图书馆。请帮帮我。
答案 0 :(得分:1)
对于AddressType本身,它应该可以正常工作,因为Jackson会将字符串转换为对象具有公共构造函数的对象,该对象采用单个字符串。
对于序列化,您可能希望使用@JsonValue注释类型字段或getType方法来执行反向转换。
要使用给定的类型调用Address构造函数,需要在构造函数上使用@JsonCreator注释,并在其参数上使用@JsonProperty注释:
@JsonCreator
public Address(@JsonProperty("type") AddressType type) { ... }