У меня есть абстрактный класс Fruit, и я поместил в него @JsonTypeInfo и @JsonSubTypes следующим образом:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "fruits")
@JsonSubTypes({
@Type(value = Apple.class, name = "sandbox.Apple"),
@Type(value = FruitGroup.class, name = "sandbox.FruitGroup")
})
public abstract class Fruit {
public abstract String getName();
@Override
public String toString() {
return "Fruit [getName()=" + getName() + ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString() + "]";
}
}
И мой производный класс выглядит так
@JsonTypeName("sandbox.Apple")
public class Apple extends Fruit {
private String _name;
public void setName(String name) {
_name = name;
}
@Override
public String getName() {
return _name;
}
======[ОБНОВЛЕНО]======
У меня также есть класс FruitGroup, который расширяет Fruit и содержит массив Fruit.
@JsonTypeName("sandbox.FruitGroup")
public class FruitGroup extends Fruit {
private Fruit[] _Fruit;
private String _name;
private String _category;
public Fruit[] getFruit() {
return _Fruit;
}
public void setFruits(Fruit[] fruits) {
_Fruit = fruits;
}
public void setName(String name) {
_name = name;
}
@Override
public String getName() {
return _name;
}
public void setCategory(String category) {
_category = category;
}
public String getCategory() {
return _category;
}
Когда я попытался десериализовать jsontext в объект Fruit, я обнаружил следующее исключение:
Exception in thread "main" com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id '[' as a subtype of `sandbox.FruitGroup`: known type ids = [FruitGroup, sandbox.Apple] at [Source: (String)"{"fruits":[["sandbox.Apple",{"name": "Apple"}]],"name": "Fruit Group"}"; line: 1, column: 11]
at com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43)
Jsontext [ОБНОВЛЕНО] на самом деле был создан Джексоном версии 2.10.2, и раньше я не добавлял никаких аннотаций JSON в свои классы. После обновления версии Джексона до 2.11.0 я также обновляю свой абстрактный класс, чтобы поместить в него аннотации JSON. Затем я попытался десериализовать его, используя версию jackson 2.11.0, но вместо этого получил ошибку. Ребята, не могли бы вы помочь мне решить эту проблему?
Вот мой jsontext
{
"fruit": [
[
"sandbox.Apple",
{
"name": "Apple1"
}
]
],
"name": "Group of apples",
"category": "Sweet fruit"
}
Подробнее здесь: https://stackoverflow.com/questions/695 ... esolve-typ
Com.fasterxml.jackson.databind.exc.InvalidTypeIdException: не удалось разрешить идентификатор типа '[' как подтип ⇐ JAVA
Программисты JAVA общаются здесь
1726585690
Anonymous
У меня есть абстрактный класс Fruit, и я поместил в него @JsonTypeInfo и @JsonSubTypes следующим образом:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "fruits")
@JsonSubTypes({
@Type(value = Apple.class, name = "sandbox.Apple"),
@Type(value = FruitGroup.class, name = "sandbox.FruitGroup")
})
public abstract class Fruit {
public abstract String getName();
@Override
public String toString() {
return "Fruit [getName()=" + getName() + ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString() + "]";
}
}
И мой производный класс выглядит так
@JsonTypeName("sandbox.Apple")
public class Apple extends Fruit {
private String _name;
public void setName(String name) {
_name = name;
}
@Override
public String getName() {
return _name;
}
======[ОБНОВЛЕНО]======
У меня также есть класс FruitGroup, который расширяет Fruit и содержит массив Fruit.
@JsonTypeName("sandbox.FruitGroup")
public class FruitGroup extends Fruit {
private Fruit[] _Fruit;
private String _name;
private String _category;
public Fruit[] getFruit() {
return _Fruit;
}
public void setFruits(Fruit[] fruits) {
_Fruit = fruits;
}
public void setName(String name) {
_name = name;
}
@Override
public String getName() {
return _name;
}
public void setCategory(String category) {
_category = category;
}
public String getCategory() {
return _category;
}
Когда я попытался десериализовать jsontext в объект Fruit, я обнаружил следующее исключение:
Exception in thread "main" com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id '[' as a subtype of `sandbox.FruitGroup`: known type ids = [FruitGroup, sandbox.Apple] at [Source: (String)"{"fruits":[["sandbox.Apple",{"name": "Apple"}]],"name": "Fruit Group"}"; line: 1, column: 11]
at com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43)
Jsontext [ОБНОВЛЕНО] на самом деле был создан Джексоном версии 2.10.2, и раньше я не добавлял никаких аннотаций JSON в свои классы. После обновления версии Джексона до 2.11.0 я также обновляю свой абстрактный класс, чтобы поместить в него аннотации JSON. Затем я попытался десериализовать его, используя версию jackson 2.11.0, но вместо этого получил ошибку. Ребята, не могли бы вы помочь мне решить эту проблему?
Вот мой jsontext
{
"fruit": [
[
"sandbox.Apple",
{
"name": "Apple1"
}
]
],
"name": "Group of apples",
"category": "Sweet fruit"
}
Подробнее здесь: [url]https://stackoverflow.com/questions/69536268/com-fasterxml-jackson-databind-exc-invalidtypeidexception-could-not-resolve-typ[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия