尝试反序列化时出现 NullPointerException json
Getting NullPointerException while trying to deserialize json
我在尝试反序列化 json 时收到 NullPointerException。我正在尝试仅反序列化来自 https://api.covid19india.org/data.json
的 select JSON 个对象
我写过代码
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
public class CovidData {
List<Statewise> statewiseData;
public List<Statewise> getStatewiseData() {
return statewiseData;
}
public void setStatewiseData(List<Statewise> statewiseData) {
this.statewiseData = statewiseData;
}
@Override
public String toString() {
return "CovidData [statewiseData=" + statewiseData + "]";
}
}
Statewise.java
public class Statewise {
@JsonProperty("active")
String active;
public String getActive() {
return active;
}
public void setActive(String active) {
this.active = active;
}
@Override
public String toString() {
return "Statewise [active=" + active + ", confirmed=" + confirmed + ", deaths=" + deaths + ", deltaconfirmed="
+ deltaconfirmed + ", deltadeaths=" + deltadeaths + ", deltarecovered=" + deltarecovered
+ ", lastupdatedtime=" + lastupdatedtime + ", migratedother=" + migratedother + ", recovered="
+ recovered + ", state=" + state + ", statecode=" + statecode + ", statenotes=" + statenotes + "]";
}
}
调用方法
@Test
public void test1() {
CovidData covidData=
given()
.when()
.get("https://api.covid19india.org/data.json")
.as(CovidData.class);
List<Statewise> state=covidData.getStatewiseData();
for (Statewise s : state)
System.out.println(s.getActive());
}
请帮忙
返回的 JSON 包含“statewise”属性。
因此,要正确反序列化,您可以将 CovidData class 中的 属性 List<Statewise> statewiseData
更改为 List<Statewise> statewise
或添加 JsonProperty 以将其映射到“statewise”
@JsonProperty("statewise")
List<Statewise> statewiseData;
我在尝试反序列化 json 时收到 NullPointerException。我正在尝试仅反序列化来自 https://api.covid19india.org/data.json
的 select JSON 个对象我写过代码
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
public class CovidData {
List<Statewise> statewiseData;
public List<Statewise> getStatewiseData() {
return statewiseData;
}
public void setStatewiseData(List<Statewise> statewiseData) {
this.statewiseData = statewiseData;
}
@Override
public String toString() {
return "CovidData [statewiseData=" + statewiseData + "]";
}
}
Statewise.java
public class Statewise {
@JsonProperty("active")
String active;
public String getActive() {
return active;
}
public void setActive(String active) {
this.active = active;
}
@Override
public String toString() {
return "Statewise [active=" + active + ", confirmed=" + confirmed + ", deaths=" + deaths + ", deltaconfirmed="
+ deltaconfirmed + ", deltadeaths=" + deltadeaths + ", deltarecovered=" + deltarecovered
+ ", lastupdatedtime=" + lastupdatedtime + ", migratedother=" + migratedother + ", recovered="
+ recovered + ", state=" + state + ", statecode=" + statecode + ", statenotes=" + statenotes + "]";
}
}
调用方法
@Test
public void test1() {
CovidData covidData=
given()
.when()
.get("https://api.covid19india.org/data.json")
.as(CovidData.class);
List<Statewise> state=covidData.getStatewiseData();
for (Statewise s : state)
System.out.println(s.getActive());
}
请帮忙
返回的 JSON 包含“statewise”属性。
因此,要正确反序列化,您可以将 CovidData class 中的 属性 List<Statewise> statewiseData
更改为 List<Statewise> statewise
或添加 JsonProperty 以将其映射到“statewise”
@JsonProperty("statewise")
List<Statewise> statewiseData;