当我使用Gson时,发生错误:
java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING
这是因为应为[]
的字段现在为""
(空字符串)。 JSON字符串由其他人生成,当字段为空时,它为""
。是否有办法告诉Gson ""
等于[]
,所以不会发生异常?
//will have exception
{"phones": ""}
//ok
{"phone":[]}
//common return value
{"phones":["a", "b"]
答案 0 :(得分:0)
在解析值之前,请检查对象的类型
if (json instanceof JSONObject) {
String phone = json.getString("phones");
}
else if (json instanceof JSONArray){
JSONArray phones= jsonObject.getJSONArray("phones");
}