Sobes.tech
Junior — Middle

Как да се избегне обработката на нови полета при преобразуване на JSON в съществуващ Java обект?

sobes.tech AI

Отговор от AI

Ако искате при десериализация на JSON в съществуващ Java обект да игнорирате новите (неизвестни) полета, можете да използвате настройките на библиотеката, която извършва преобразуването. Например, при използване на Jackson:

  • Добавете анотацията @JsonIgnoreProperties(ignoreUnknown = true) към класа, за да игнорирате липсващите полета.
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class MyClass {
    private String knownField;
    // гетъри и сетъри
}
  • Или конфигурирайте ObjectMapper:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

По този начин, новите полета в JSON няма да предизвикат грешки и няма да бъдат обработвани, като се запази съществуващата структура на обекта.