2016-05-21 19 views
0

私はGoogle Mapsを呼び出し、System.JSONを使用してオブジェクトを解析しています。json配列がc#で空であるかどうかをチェックする方法?

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

その後、私は第三のオブジェクトが存在するウィーター確認したいとはい、いくつかのアクションを実行するが、どうやら以下の場合に失敗します。私は使用して私の物をつかみます。私はGoogle Mapsがこの場合2つのオブジェクトを返すことを知っています.3つ目はNULLでアクションを実行せずにさらに渡すことを避けたいと思います。

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を使用した場合のif文を構築する方法の任意のアイデア?

答えて

1

結果の配列に2つのエントリしかない場合、インデックス2は配列の境界外にあるため、json["results"][2]にはアクセスできません。

インデックス2にアクセスする前に、インデックス2が存在することを確認するためにjson["results"].Countをチェックしてください。 Countにアクセスする前に、それをJsonArrayにキャストする必要があります。

関連する問題