1

私はiosが初めてで、解析に取り組んでおり、以下に示すURLを取得しました:-

@"https://maps.googleapis.com/maps/api/place/textsearch/xml?query=%@&sensor=true&key=%@",typedtext,kGOOGLE_API_KEY

しかし、私はそれを解析することができません。

私はこれについて何も考えていません。どうすればよいですか。

だから親切に私を助けてください。

4

2 に答える 2

0

そのリンクが json を返す場合は、応答を に入れ、それNSDataJSONObjectWothData:options:error:解析することができます。

元。

NSString *urlStr = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false
"];
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSData* data = [NSData dataWithContentsOfURL:
                        [NSURL URLWithString:urlPercoso]];

    json = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error];
});

json の場所NSDictionary

次に、次のような構造を受け取ります。

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "1600",
               "short_name" : "1600",
               "types" : [ "street_number" ]
            },
            {
               "long_name" : "Amphitheatre Pkwy",
               "short_name" : "Amphitheatre Pkwy",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Mountain View",
               "short_name" : "Mountain View",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Santa Clara",
               "short_name" : "Santa Clara",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "California",
               "short_name" : "CA",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "94043",
               "short_name" : "94043",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
         "geometry" : {
            "location" : {
               "lat" : 37.42291810,
               "lng" : -122.08542120
            },
            "location_type" : "ROOFTOP",
            "viewport" : {
               "northeast" : {
                  "lat" : 37.42426708029149,
                  "lng" : -122.0840722197085
               },
               "southwest" : {
                  "lat" : 37.42156911970850,
                  "lng" : -122.0867701802915
               }
            }
         },
         "types" : [ "street_address" ]
      }
   ],
   "status" : "OK"
}

データのように、情報を取得できます。これは、単なる辞書、配列、文​​字列、および数値であるため、詳細については、このリンクを参照してください。

于 2013-10-21T10:52:20.517 に答える