你可以把一个@JsonUnwrapped注解放在Address
场在客户类。这里有一个例子:
public class JacksonValue {
final static String JSON = "{\n"
+" \"code\":\"C001\",\n"
+" \"city\": \"Pune\",\n"
+" \"street\": \"ABC Road\"\n"
+"}";
static class Address {
public String city;
public String street;
@Override
public String toString() {
return "Address{" +
"city='" + city + '\'' +
", street='" + street + '\'' +
'}';
}
}
static class Customer {
public String code;
@JsonUnwrapped
public Address address;
@Override
public String toString() {
return "Customer{" +
"code='" + code + '\'' +
", address=" + address +
'}';
}
}
public static void main(String[] args) throws IOException {
final ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.readValue(JSON, Customer.class));
}
}
输出:
Customer{code='C001', address=Address{city='Pune', street='ABC Road'}}
有ü尝试'一流的客户扩展Address',然后提供'objectmapper.getConstructType(Customer.Class)'对象客户类型。这可能会帮助你..没有尝试,但建议你根据我的经验..希望这可以工作.. –