我希望Jackson使用以下构造函数反序列化一个类:
public Clinic(String name, Address address)
Run Code Online (Sandbox Code Playgroud)
反序列化第一个参数很容易.问题是地址被定义为:
public class Address {
private Address(Map<LocationType, String> components)
...
public static class Builder {
public Builder setCity(String value);
public Builder setCountry(String value);
public Address create();
}
}
Run Code Online (Sandbox Code Playgroud)
并构造如下: new Address.Builder().setCity("foo").setCountry("bar").create();
有没有办法从杰克逊获得键值对,以便自己构建地址?或者,有没有办法让杰克逊使用Builder类本身?