我有一些 json,有一系列看起来像这样的条目(我已经简化它以专注于相关问题,这就是为什么它看起来有点多余):
{"name":"ISPC Seychelles","company":{"name":"ISPC Seychelles","id":3427640}}
但有时公司属性设置为空:
{"name":"京都威斯汀都酒店", "company":null}
我已经这样定义了我的类(对不起,公共访问修饰符,当我得到这段代码工作时会改变这些:)):
class Entry {
public String name=;
public Company company;
public String toString() {
return name + ";" + company;
}
}
class Company {
public String name;
public int id;
public String toString() {
return "Company: " + name;
}
}
在我的代码中,我尝试使用 gson 反序列化包含在名为 output 的变量中的 JSON:
while ((output = br.readLine()) != null) {
Gson gson = new Gson();
Reply reply = gson.fromJson(output, Reply.class);
Entry[] entries = reply.entries;
for (int i=0; i < entries.length; i++) {
System.out.print(entries[i]+ "\n") ;
}
}
当按照 JSON 中的第一个示例填充公司元素时,这可以正常工作:
ISPC塞舌尔;公司:ISPC塞舌尔
但是,如果没有像第二个示例中那样填充元素,我会得到以下输出:
京都威斯汀都酒店;空值
我想要的是以下输出:
京都威斯汀都酒店;公司:无