Java GSON在json中缺少字段时引发空指针异常
GSON在json中缺少字段时引发空指针异常 复习课:Java GSON在json中缺少字段时引发空指针异常,java,json,gson,pojo,Java,Json,Gson,Pojo,GSON在json中缺少字段时引发空指针异常 复习课: public class ReviewClass { private String name; private List<Review> reviews; public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Review> getR
public class ReviewClass
{
private String name;
private List<Review> reviews;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Review> getReviews() {
return reviews;
}
public void setReviews(List<Review> reviews) {
this.reviews = reviews;
}
}
class Review {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
JSON(无审查字段):
因此,当json中没有“reviews”字段时,GSON抛出空指针异常。请帮助我。Gson正确地为
getReviews()
返回了一个null
值,因为JSON中没有任何评论。导致NPE的是您的println()
调用,因为您无法在null
上调用.get(0)
在println()
之前添加空检查,例如
if (reviewResults.getReviews() != null) {
System.out.println(reviewResults.getReviews().get(0).getName());
}
或者,当reviews
为null
时,让您的getReviews()
方法返回一个非null的列表
{"itemId":978998,"name":"Palet","salePrice":15.88,"upc":"708431191570","categoryPath":"Toys}
if (reviewResults.getReviews() != null) {
System.out.println(reviewResults.getReviews().get(0).getName());
}