如何在c#中检查json数组是否为空?

时间:2016-05-21 15:25:30

标签: c# json google-maps if-statement system.json

我正在调用Google Maps并使用System.JSON来解析该对象。我使用以下方法抓住我的对象:

double placeLat = json["results"][0]["geometry"]["location"]["lat"];

然后我想检查第三个对象是否存在,如果是,则执行某些操作,但显然以下操作失败。我知道谷歌地图在这种情况下返回2个对象,我想检查第三个对象,以避免对null执行操作并进一步传递它们。以下工作正常,当谷歌地图返回3个对象,所以我认为我的条件是错误的。

if (json["results"][2] != null) {

        }

我收到此错误:

  

指数超出范围。必须是非负数且小于   集合。参数名称:index

在使用System.JSON时如何正确构建if语句的任何想法?

3 个答案:

答案 0 :(得分:1)

如果结果数组中只有两个条目,那么您无法访问json["results"][2],因为索引2超出了数组的范围。

在访问索引2之前,请检查json["results"].Count以确保索引2存在。在访问Count之前,您可能需要将其强制转换为JsonArray

答案 1 :(得分:0)

if(jsonobject.Count>0)
 {
 }     

答案 2 :(得分:0)

i