我正在调用Google Maps并使用System.JSON来解析该对象。我使用以下方法抓住我的对象:
double placeLat = json["results"][0]["geometry"]["location"]["lat"];
然后我想检查第三个对象是否存在,如果是,则执行某些操作,但显然以下操作失败。我知道谷歌地图在这种情况下返回2个对象,我想检查第三个对象,以避免对null执行操作并进一步传递它们。以下工作正常,当谷歌地图返回3个对象,所以我认为我的条件是错误的。
if (json["results"][2] != null) {
}
我收到此错误:
指数超出范围。必须是非负数且小于 集合。参数名称:index
在使用System.JSON时如何正确构建if语句的任何想法?
答案 0 :(得分:1)
如果结果数组中只有两个条目,那么您无法访问json["results"][2]
,因为索引2超出了数组的范围。
在访问索引2之前,请检查json["results"].Count
以确保索引2存在。在访问Count之前,您可能需要将其强制转换为JsonArray
。
答案 1 :(得分:0)
if(jsonobject.Count>0)
{
}
答案 2 :(得分:0)
i