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 няма да предизвикат грешки и няма да бъдат обработвани, като се запази съществуващата структура на обекта.