2012-02-15 7 views
0

Google Directionsのリクエストから取得するJSONファイルから必要な単一の値を抽出するのが非常に困難です。リクエストを送信した後、私はそのような何かを得るiphoneでGoogle Directions JSONファイルから距離を抽出する方法

{ 
    "routes" : [ 
     { 
     "bounds" : { 
      "northeast" : { 
       "lat" : 31.831330, 
       "lng" : 34.834710 
      }, 
      "southwest" : { 
       "lat" : 31.25299000000001, 
       "lng" : 34.653460 
      } 
     }, 
     "copyrights" : "Map data ©2012 Mapa GISrael", 
     "legs" : [ 
      { 
       "distance" : { 
        "text" : "85.6 km", 
        "value" : 85613", 
       }, 

をしかし、私が望む唯一のことは、距離値(ルート/足/距離/値)で、 いずれかを抽出する方法を知っているがこの値はJSONファイルからですか?

答えて

1

まず第一に、それは距離の値の後に「試用があり、よくフォーマットされたJSONのように見えるしていません。

ほとんどのJSONのフレームワークは、最も適切なタイプであなたにオブジェクトを提供します。辞書がしますNSDictionaryに変換され、リストがNSArrayに変換されます。

上記のJSONのルート距離を取得するには、JSONをNSDictionaryにパースして、そこにある多くのライブラリの1つを使用します。

NSNumber * distance = [[[[[parsedDict objectForKey:@ "routes"] objec objectForKey: ""; "" objectForKey:@ "distance"] objectForKey @ "value"];

これが機能するかどうかを確認してください。

+0

以前はjsonを一度も使用していませんでした。私の知識と経験は非常に小さいので、JSONのリストと辞書を区別する方法を教えてください。 – Itamar

+0

JSONはオブジェクト表記法です。 {と}の間のものはすべて辞書です。これは、オブジェクト(数値、文字列、DICTIONARYまたはArray、boolean、null)を参照するキーで構成されています。 配列はオブジェクトの順序付きリストです(上記のオブジェクト定義を参照)。配列は[と]の間にあるものです。 リスト/配列と辞書を区別するために、それらの周りのものを見てください。 []は配列、{}は辞書です。もっと多くの情報はhttp://json.org/ –

+0

json解析ライブラリの例についてはTouchJSONを参照してください – gamozzii

関連する問題