ダミーチートシートのiOSクラウド開発の一部
クラウドをベースとしたWebサービスを使用する場合、JSONで応答する可能性があります。クラウドベースのWebサービスを操作するときに、Webブラウザの
http:// mapsに次の情報を入力する必要があります。 googleapis。 com / maps / api / geocode / json? sensor = true&address = EmpireState Building&
JSONを戻すと、次のようになります。
結果(結果:[{…ジオメトリ{{ 境界: {北東: { lat: 7489545号、999~73頁に記載されている。 98483449999999}、 南西: 緯度: 40。 7479245号、999~73頁に記載されている。 9865073}}、 場所: 緯度: 40。 7484395号、999~73頁。 9856709}、…} JSONはXMLと同じように暗黙的なので、JSONが提供するものを解析する必要があります。 <! - 2 - > <! JSONの構文解析は、XMLの解析とはまったく異なります。 JSONは静かな2つの構造、つまり配列と辞書に基づいて構築されています。次のJSONの例では、両方を使用します。 NSError * error = nil; NSDictionary * responseDict = [NSJSONSerialization JSONObjectWithData:data オプション:NSJSONReadingMutableContainersエラー:&エラー]; JSON解析を実行すると、設定できるオプションはほとんどありません。- <! NSJSONReadingMutableContainers:戻った配列と辞書は変更可能なので、変更することができます。デフォルトは不変です。 NSJSONReadingMutableLeaves:戻った文字列は変更可能なので変更できます。デフォルトは不変です。 NSJSONReadingAllowFragments:配列または辞書ではないトップレベルオブジェクトをパーサーが許可するように指定します。デフォルトでは、JSON最上位オブジェクトは配列または辞書のいずれかにする必要があります。 <! NSJSONSerializationクラスを使用するときは、文字列や数値、さらには他の配列や辞書を含む配列や辞書を取得します(ここではプロパティリストオブジェクトと考える)。 この場合、あなたは
NSDictionary * result = [results objectAtIndex:0]を実行することによってlatおよびlngの位置に到達することができます。 NSDictionary *ジオメトリ= [結果objectForKey:@ "ジオメトリ"]; NSDictionary * location = [ジオメトリobjectForKey:@ "場所"]; latitude = [location valueForKey:@ "lat"];経度= [location valueForKey:@ "lng"];