Java Jackson JSON API反序列化流式处理无法识别的字段
我有一个json:Java Jackson JSON API反序列化流式处理无法识别的字段,java,jackson,Java,Jackson,我有一个json: [{"cdCondicaoPagto":"1","NrParcela":1,"NrDias":0}] 这门课: public static class CondicaoPagtoItem implements Serializable { private String cdCondicaoPagto; private Integer NrParcela; private Integer NrDias; public CondicaoPag
[{"cdCondicaoPagto":"1","NrParcela":1,"NrDias":0}]
这门课:
public static class CondicaoPagtoItem implements Serializable {
private String cdCondicaoPagto;
private Integer NrParcela;
private Integer NrDias;
public CondicaoPagtoItem() {
}
public String getCdCondicaoPagto() {
return cdCondicaoPagto;
}
public void setCdCondicaoPagto(String cdCondicaoPagto) {
this.cdCondicaoPagto = cdCondicaoPagto;
}
public Integer getNrParcela() {
return NrParcela;
}
public void setNrParcela(Integer NrParcela) {
this.NrParcela = NrParcela;
}
public Integer getNrDias() {
return NrDias;
}
public void setNrDias(Integer NrDias) {
this.NrDias = NrDias;
}
}
我试着通过流媒体阅读,这样:
JsonFactory jsonFactory = new JsonFactory();
ObjectMapper jsonMapper = new ObjectMapper(jsonFactory);
JsonNode jsonNodeGeral = jsonMapper.readTree(new File("/home/cechinel/Documentos/CondicaoPagtoItem.json"));
Iterator<JsonNode> elements = jsonNodeGeral.getElements();
while(elements.hasNext()){
JsonNode jsonNode = elements.next();
CondicaoPagtoItem condicao = jsonMapper.treeToValue(jsonNode, CondicaoPagtoItem.class);
}
JsonFactory-JsonFactory=new-JsonFactory();
ObjectMapper jsonMapper=新的ObjectMapper(jsonFactory);
JsonNode jsonNodeGeral=jsonMapper.readTree(新文件(“/home/cechinel/Documentos/CondicaoPagtoItem.json”);
迭代器元素=jsonNodeGeral.getElements();
while(elements.hasNext()){
JsonNode JsonNode=elements.next();
CondicaoPagtoItem condicao=jsonMapper.treeToValue(jsonNode,CondicaoPagtoItem.class);
}
但它会导致以下错误:
无法识别的属性异常:无法识别的字段“NrParcela”
如果我使用注释@JsonProperty,它可以工作,但我不想在哪个整数字段中工作。听起来更像是命名约定不匹配
setNrParcela
将映射到一个字段名nrParcela
,但是您的JSON文档将“n”大写为nrParcela
如果无法更改JSON字段的大小写,则可以使用覆盖名称的@JsonProperty
:
@JsonProperty("NrParcela")
但既然您不想这样做,那么另一个选择就是实现.< /p>它听起来更像是一个命名约定不匹配。code>setNrParcela将映射到一个字段名
nrParcela
,但是您的JSON文档将“n”大写为nrParcela
如果无法更改JSON字段的大小写,则可以使用覆盖名称的@JsonProperty
:
@JsonProperty("NrParcela")
但由于您不想这样做,另一个选择是实现.< /p> OMG。我不相信我没有看到那个kkk。非常感谢。我的天啊。我不相信我没有看到那个kkk。非常感谢。它起作用了^^