मैं चाहूंगा कि जैक्सन निम्नलिखित कंस्ट्रक्टर के साथ एक वर्ग को अलग कर दे:
public Clinic(String name, Address address)
पहले तर्क का वर्णन करना आसान है। समस्या यह है कि पते को इस प्रकार परिभाषित किया गया है:
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();
}
}
और इस तरह बनाया गया है: new Address.Builder().setCity("foo").setCountry("bar").create();
क्या पता स्वयं बनाने के लिए जैक्सन से कुंजी-मूल्य जोड़े प्राप्त करने का कोई तरीका है? वैकल्पिक रूप से, क्या जैक्सन को बिल्डर वर्ग का उपयोग करने का एक तरीका है?
@JsonPOJOBuilder
एनोटेशन से सभी को एक साथ निकालने के लिए वांछित है , तो "बनाएँ" का नाम बदलकर "बिल्ड" करें और प्रत्येक बिल्डर के साथ एनोटेट करें@JsonProperty
।