Java Jackson没有可从数值反序列化的int/int参数构造函数/工厂方法
我将其作为部分JSON:Java Jackson没有可从数值反序列化的int/int参数构造函数/工厂方法,java,jackson,Java,Jackson,我将其作为部分JSON: "nextStages":[1] 我的Java中有这样的功能: private List<Integer> nextStages; ..... public List<Integer> getNextStages() { return nextStages; } public void setNextStages(List<Integer> nextStages) { this.nextStages = nextS
"nextStages":[1]
我的Java中有这样的功能:
private List<Integer> nextStages;
.....
public List<Integer> getNextStages() {
return nextStages;
}
public void setNextStages(List<Integer> nextStages) {
this.nextStages = nextStages;
}
那么,如何进行适当的序列化/反序列化呢?您需要发布整个
JSON
和类
,以便我们了解有关错误的更多信息
这对我来说很好:
test.json
{
"nextStages":[1]
}
StageObject.java
public class StageObject {
private List<Integer> nextStages;
public List<Integer> getNextStages() {
return nextStages;
}
}
输出:
{
"nextStages" : [ 1 ]
}
希望这有帮助。您有默认构造函数吗?没有构造函数,所以是的,我只有默认构造函数。mesage告诉您Jackson需要从单个数值创建StageObject。所以,你所说的与你在问题中所声称的不相符。发布整个JSON文档,以及映射到此JSON文档的所有类。
public class ReadTestJSON {
public static void main(String[] args)
throws IOException
{
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
StageObject stageObject = mapper.readValue(new File("test.json"), StageObject.class);
mapper.writeValue(System.out,stageObject);
}
}
{
"nextStages" : [ 1 ]
}