通过@Consumes(MediaType.APPLICATION_JSON)
我得到像这样的JSON对象的休息服务
{
"key": "myKey",
"value": {
"port": 1234,
"username": "JimmyTest5",
"password": "password123",
"host": "http://myurl.com",
}
}
在我的java代码中,我需要将这个JSON插入到类中:
public class Input {
@JsonProperty("key")
private String key;
@JsonProperty("value")
private JsonObject value;
protected Input () {
}
public Input (String key, JsonObject value) {
this.key = key;
this.value = value;
}
public String getKey() {
return key;
}
public JsonObject getValue() {
return value;
}}
JsonObject类型是必需的。 可悲的是,我无法找到任何方法来使其发挥作用。我得到的错误是
引起:java.util.concurrent.CompletionException:javax.ws.rs.ProcessingException:com.fasterxml.jackson.databind.JsonMappingException:找不到非具体Map类型的反序列化器[map type; class javax.json.JsonObject,[simple type,class java.lang.String] - > [simple type,class javax.json.JsonValue]]
答案 0 :(得分:0)
问题在这一行错误中定义:
Can not find a deserializer for non-concrete Map type
更快的杰克逊不知道用于场地值的具体类别。
将其替换为Map
,并使用具体的Map
,Hashmap
在构造函数中初始化值。