Sobes.tech
Junior — Middle

Jak można uniknąć przetwarzania nowych pól podczas konwersji JSON na istniejący obiekt Java?

sobes.tech AI

Odpowiedź od AI

Aby podczas deserializacji JSON do istniejącego obiektu Java zignorować nowe (nieznane) pola, można użyć ustawień biblioteki wykonującej konwersję. Na przykład, korzystając z Jackson:

  • Dodaj adnotację @JsonIgnoreProperties(ignoreUnknown = true) do klasy, aby zignorować pola nieobecne w klasie.
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class MyClass {
    private String knownField;
    // gettery i settery
}
  • Lub skonfiguruj ObjectMapper:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

W ten sposób nowe pola w JSON nie spowodują błędów i nie będą przetwarzane, zachowując istniejącą strukturę obiektu.