@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() + "]";
}
}
< /code>
Und meine abgeleitete Klasse sieht so aus < /p>
@JsonTypeName("sandbox.Apple")
public class Apple extends Fruit {
private String _name;
public void setName(String name) {
_name = name;
}
@Override
public String getName() {
return _name;
}
< /code>
====== [Aktualisiert] =======
Ich habe auch Klassenfruchtgruppe, die Obst erweitert und eine Array von Obst enthält. < /p>
@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;
}
< /code>
} < /p>
Als ich versuchte, den JsonText in Obstobjekt zu deserialisieren, fand ich die folgende Ausnahme: < /p>
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)
< /code>
Der JsonText [aktualisiert] wurde tatsächlich von Jackson Version 2.10.2 generiert, und ich habe früher keine JSON -Anmerkungen für meine Klassen eingestellt. Nachdem ich die Jackson -Version auf 2.11.0 aktualisiert habe, aktualisiere ich auch meine abstrakte Klasse, um die JSON -Anmerkungen hineinzugeben. Dann habe ich versucht, es mit Jackson Version 2.11.0 zu deserialisieren, aber stattdessen habe ich einen Fehler bekommen. Könnten ihr mir helfen, dieses [url=viewtopic.php?t=20324]Problem[/url] zu lösen?
Hier ist mein jsonText < /p>
{
"fruit": [
[
"sandbox.Apple",
{
"name": "Apple1"
}
]
],
"name": "Group of apples",
"category": "Sweet fruit"
}
Ich habe eine abstrakte Klasse namens Fruit und ich habe die @JsonTypeinfo und @JsonSuBypes wie folgt darauf eingestellt: [code]@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() + "]"; } } < /code> Und meine abgeleitete Klasse sieht so aus < /p> @JsonTypeName("sandbox.Apple") public class Apple extends Fruit {
private String _name;
public void setName(String name) { _name = name; }
@Override public String getName() { return _name; } < /code> ====== [Aktualisiert] ======= Ich habe auch Klassenfruchtgruppe, die Obst erweitert und eine Array von Obst enthält. < /p> @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; } < /code> } < /p> Als ich versuchte, den JsonText in Obstobjekt zu deserialisieren, fand ich die folgende Ausnahme: < /p> 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) < /code> Der JsonText [aktualisiert] wurde tatsächlich von Jackson Version 2.10.2 generiert, und ich habe früher keine JSON -Anmerkungen für meine Klassen eingestellt. Nachdem ich die Jackson -Version auf 2.11.0 aktualisiert habe, aktualisiere ich auch meine abstrakte Klasse, um die JSON -Anmerkungen hineinzugeben. Dann habe ich versucht, es mit Jackson Version 2.11.0 zu deserialisieren, aber stattdessen habe ich einen Fehler bekommen. Könnten ihr mir helfen, dieses [url=viewtopic.php?t=20324]Problem[/url] zu lösen? Hier ist mein jsonText < /p> { "fruit": [ [ "sandbox.Apple", { "name": "Apple1" } ] ], "name": "Group of apples", "category": "Sweet fruit" } [/code]
Ich versuche, Firebase in meinem Flutter -Projekt mit Flutterfire Configure nach Firebase Login zu erstellen, um eine FireBase_Options zu erhalten. Br /> So sieht die Ausgabe aus, wenn Sie den Befehl...
Ich habe dieses Spring Boot + Angular Tutorial auf YouTube verfolgt, das Spring Security und JSON Web Token (JWT) zur Authentifizierung eines Benutzers verwendet. Ich bin jedoch zu einem Punkt im...
Ich habe versucht, Funktionsaufrufe mit Spring-AI zu implementieren, aber ich sehe, dass Methodenparameter nicht korrekt übergeben werden.
Zum Beispiel habe ich diese Funktion „routeChatFunction“,...