Java 使用jackson进行JSON反序列化

Java 使用jackson进行JSON反序列化,java,json,json-deserialization,jackson2,Java,Json,Json Deserialization,Jackson2,我有一个JSON,我想反序列化为java对象。我试过了,但没有成功。如果有人帮忙,我真的很感激。我犯了错误 ObjectMapper mapper = new ObjectMapper(); mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY); // Note : vairable 'body' is the JSON string which I've shared below. RpcResponse rs =

我有一个JSON,我想反序列化为java对象。我试过了,但没有成功。如果有人帮忙,我真的很感激。我犯了错误

ObjectMapper mapper = new ObjectMapper();
mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
// Note : vairable 'body' is the JSON string which I've shared below.
RpcResponse rs = mapper.readValue(body, RpcResponse.class);
主线程中的异常 com.fasterxml.jackson.databind.exc.MismatchedInputException:无法 反序列化起始\u数组标记外的结果实例

}

下面是java类

public class RpcResponse {

private String error;
private String id;
private Map<String, Result> result;

public String getError() {
    return error;
}

public void setError(String error) {
    this.error = error;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public Result getResult() {
    return result;
}

public void setResult(Result result) {
    this.result = result;
}
}

}

}

}在RCP响应中

private Map<String, Result> result;
结果,

private Map<String, List<Inventory>> inventory;
应该是

private List<Inventory> inventory;
private List<History> history;
在库存方面,

private Map<String, List<History>> history;
应该是

private List<Inventory> inventory;
private List<History> history;

在历史记录中,Map应该是一个集合,等等

反序列化所用的代码在哪里?您应该编辑您的问题并添加该类。在注释部分很难阅读您的示例代码未编译-因此,声称它引发了该异常是一个谎言。@slim很可能是复制/粘贴错误。真正的问题是没有正确的成员类型。复制/粘贴错误,如没有复制他所说的实际代码。您可能还需要将getBugs更改为getInventory或给jackson一个提示。这不是问题的答案。这是他应该做的工作,让问题中的代码在声称抛出运行时异常之前进行编译。实际的getter和setter是合适的。
private List<Inventory> inventory;
private Map<String, List<History>> history;
private List<History> history;