Встречается на собеседованиях • сегодня

Как определить пользовательский тип данных в JSON

В JSON нет строгой типизации, но можно добавить поле type для указания пользовательского типа. Например:

json
{
  "type": "Person",
  "name": "John",
  "age": 30
}

В Java можно десериализовать такой JSON с помощью Jackson или Gson, используя аннотации:

java
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({
    @JsonSubTypes.Type(value = Person.class, name = "Person"),
    @JsonSubTypes.Type(value = Animal.class, name = "Animal")
})
public abstract class Entity {
    private String type;
    // getters/setters
}

public class Person extends Entity {
    private String name;
    private int age;
    // getters/setters
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы