我正在使用retrofit 2来提取JSON,如果该键具有值,则会携带对象,否则为空数组。例如:在java中检查JSON对象
如果即地址主要有值返回对象
{
"student": {
"name": "Some name",
"address": {
"house": "5",
"road": "3"
}
}
}
如果即地址关键不具有任何价值,它返回空数组
{
"student": {
"name": "Some name",
"address": []
}
}
在我的POJO类中,我将Address类的类型设置为对象,以便翻新可以解析JSON。
public class Student {
@SerializedName("name")
@Expose
private String name;
@SerializedName("address")
@Expose
private Object address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Object getAddress() {
return address;
}
public void setAddress(Object address) {
this.address = address;
}
}
现在我怎样才能检查地址类型是对象或数组?
我试过用isArray(),但没有找到结果。
if(obj.getclass().isArray())
在此先感谢。
你可以这样做 '(OBJ instanceof JSONObject)'或'(obj instanceof JSONArray)' –
检查是否可以帮助您http://stackoverflow.com/a/13100642/2116420 – Naz141