これは、型マップを扱う私の最初のタイトルであり、値を持つ FooType としてカスタム プロパティ キーを持つ実際の型オブジェクトにノードをマップしようとするたびにSet<Integer>
。これが私のオブジェクトの外観です
public class Foo {
private String some;
Map<FooTypes,Set<Integer>> foos;
public Map<FooTypes, Set<Integer>> getFoos() {
return foos;
}
public void setFoos(Map<FooTypes, Set<Integer>> map) {
this.foos = map;
}
public String getSome() {
return some;
}
public void setSome(String some) {
this.some = some;
}
}
public class FooTypes {
private String name;
private String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
今、私はマッパーを使って値を読み取ろうとするたびに:-
List <Foo> response = mapper.readValue("/home/foo/foo.json",List.class);
次のようなエラーが表示されます:-
Can not find a (Map) Key deserializer for type [simple type, class cruft.FooTypes]
誰かがこの問題を解決する方法を教えてもらえますか? ありがとうございました。
Json 出力:-
{"foos":{"FooTypes [id=1, name=Test Foo]":[1,2,3]},"some":hello},{"foos":{"FooTypes [id=2, name=Another foo]":[5,6,7]}}