Java 使用Jackson 1.x时如何解决空指针错误
我使用一个API来请求数据。对于一个请求,当我尝试将值设置为int时,我收到一个空指针异常Java 使用Jackson 1.x时如何解决空指针错误,java,serialization,jackson,Java,Serialization,Jackson,我使用一个API来请求数据。对于一个请求,当我尝试将值设置为int时,我收到一个空指针异常 public class Player implements Serializable { ... ... ... ... @JsonProperty("offsides") private Integer offsides; ... ... @JsonProperty("offsides") public Integer getO
public class Player implements Serializable {
...
...
...
...
@JsonProperty("offsides")
private Integer offsides;
...
...
@JsonProperty("offsides")
public Integer getOffsides() {
return offsides;
}
@JsonProperty("offsides")
public void setOffsides(Integer offsides) {
this.offsides = offsides;
}
公共类装置{
私有最终静态长serialVersionUID=2571183788260356219L;
公共静态void main(字符串args[])引发异常{
ObjectMapper mapper=新的ObjectMapper();
...
...
...
FixtureJSONMapp fixturesFixtures=mapper.readValue(fixturesFile,FixtureJSONMapp.class);
List insertStatus=FixturesFixturesInsert.insertAllFixtures(fixturesFixtures,
statsNumb、PlayerNumb、eventsNumb、lineupsNumb);
}
}
public类FixturesFixturesInsert{
公共静态列表insertAllFixtures(FixtureJSONMapp fixturesFixtures、int statsNumb、int PlayerNumb、int EventsUMB、int lineupsNumb)引发异常{
试一试{
Connection con=dbConnector.ConnectToDB();
PreparedStatement PSTMFixtures=con.prepareStatement(“…”);
对于(int i=0;i
在这种情况下,对于“int offsides”,我得到一个空指针异常
int offsides=(fixtures….getOffsides()!=null?getOffsides():0);
但我认为我应该能够使用mapper.getSerializationConfig().setSerializationInclusion(Inclusion.NON_NULL)或类似的东西,但我无法让它工作。我想将此设置设置为更全局的,因为我必须在许多地方进行设置
如果我收到的JSON字符串中的值为NULL,我想将其设置为0。这可以做到吗?
正如在本主题中提到的,我使用Jackson 1.x(org.codehaus.Jackson)首先确保
setSerializationInclusion(…)
应用于传入数据。我不这么认为,它对您将要发送的数据生效
注:
null
,并将其分配给原语NullPointerException
告诉您正在对null
对象调用getOffsides()
。即null.getOffsides()
Optional.ofNullable
将int offsides
设置为0
,只要null
public class Fixtures {
private final static long serialVersionUID = 2571183788260356219L;
public static void main(String args[]) throws Exception {
ObjectMapper mapper = new ObjectMapper();
...
...
...
FixtureJSONMapp fixturesFixtures = mapper.readValue(fixturesFile, FixtureJSONMapp.class);
List<String> insertStatus = FixturesFixturesInsert.insertAllFixtures(fixturesFixtures,
statsNumb, playersNumb, eventsNumb, lineupsNumb);
}
}
public class FixturesFixturesInsert {
public static List<String> insertAllFixtures(FixtureJSONMapp fixturesFixtures, int statsNumb, int playersNumb, int eventsNumb, int lineupsNumb) throws Exception {
try {
Connection con = dbConnector.ConnectToDB();
PreparedStatement pstmtFixtures = con.prepareStatement(".....");
for(int i = 0; i < fixturesFixtures.getApi().getFixtures().size(); i++) {
...
...
...
...
int offsides = fixturesFixtures.getApi().getFixtures().get(i).getPlayers().get(j).getOffsides();
...
}
}