2016-05-21 4 views
0

Я звоню в Google Maps и использую System.JSON для разбора объекта. Я хватаю объект с помощью:Как проверить, пуст ли json в C#?

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

Тогда я хочу, чтобы проверить Wheater третьи объекты существует, и если да, выполнять какие-то действия, но, видимо, следующее терпит неудачу. Я знаю, что в этом случае Google Maps возвращает 2 объекта, и я хочу проверить, чтобы третий не выполнял действия по null и передавал их дальше. Следующее работает отлично, когда Google Maps возвращает 3 объекта, поэтому я считаю, что мое состояние неверно.

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

     } 

Я получаю эту ошибку:

Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

Любые идеи о том, как правильно строить, если заявление в случае использования System.JSON?

ответ

1

Если массив результатов содержит только две записи, то вы не можете получить доступ к json["results"][2], потому что индекс 2 находится за пределами массива.

Перед тем как получить доступ к индексу 2, отметьте json["results"].Count, чтобы убедиться, что существует индекс 2. Возможно, вам придется отправить его на JsonArray, прежде чем вы получите доступ к счету.

Смежные вопросы