反序列化javax.json.JsonObject

反序列化javax.json.JsonObject,java,json,rest,deserialization,json-deserialization,Java,Json,Rest,Deserialization,Json Deserialization,通过@使用的rest服务(MediaType.APPLICATION\uJSON)我得到了一个类似这样的JSON对象 { "key": "myKey", "value": { "port": 1234, "username": "JimmyTest5", "password": "password123", "host": "http://myurl.com", } } 在我的java代码中,我需要将此JSON插入到类中:

通过
@使用的rest服务(MediaType.APPLICATION\uJSON)
我得到了一个类似这样的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 type;class javax.json.JsonObject,[simple type,class java.lang.String]->[simple type,class javax.json.JsonValue]]


此错误行定义了问题:

Can not find a deserializer for non-concrete Map type
我不知道该字段值使用哪个具体类


将其替换为
映射
,并使用具体的
映射
初始化构造函数中的值,
Hashmap
例如。

创建一个自定义Pojo而不是执行JsonObject值我没有这个选项,因为JsonObject是强制性的。这就像一个符咒,但JsonObject类型在这种情况下是强制性的。@user3525227您可以创建一个实现JsonObject的自定义类,并将该类用作具体的JsonObject。