2015-04-14 54 views
0

我有這樣的代碼來調用Web服務來獲取給定的地址座標:iOS上的Http請求。沒有得到滿弦

NSLog(@"\ndata:%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]); 

NSError* error; 
NSDictionary* json = [NSJSONSerialization 
         JSONObjectWithData:data 

         options:kNilOptions 
         error:&error]; 
if (error != nil) { 
    NSLog(@"\nerror:%@", error); 
} 

當我做2或3的呼叫,他們中的一些我的錯誤=零,因爲字符串未滿。

例如,如果我所謂的「廣告」(http://maps.google.com/maps/api/geocode/json?address=ads)第3次或隨機時間,我得到這個字符串:

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "Addison Airport", 
       "short_name" : "Addison Airport", 
       "types" : [ "establishment" ] 
      }, 
      { 
       "long_name" : "220", 
       "short_name" : "220", 
       "types" : [ "subpremise" ] 
      }, 
      { 
       "long_name" : "16051", 
       "short_name" : "16051", 
       "types" : [ "street_number" ] 
      }, 
      { 
       "long_name" : "Addison Road", 
       "short_name" : "Addison Rd", 
       "types" : [ "route" ] 
      }, 
      { 
       "long_name" : "Addison", 
       "short_name" : "Addison", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Dallas County", 
       "short_name" : "Dallas County", 

enter image description here

所以我的解析器不起作用。

我再說一遍,這是在隨機時間,我必須執行代碼幾次重現它。

我在做什麼錯?

預先感謝您。

+1

你能顯示所有代碼,包括打電話的部分嗎? –

+0

謝謝@EthanKeiser,但我在讀到你之前得到了正確的迴應 –

回答

1

我想你忘了收集整個響應的所有數據片段,並將它們一起放在一個NSData對象中。這只是完整迴應的一部分。也許這個post可以幫助你。

+0

就是這樣!我很抱歉,這應該是一個新手問題,但我是Android程序員,這是第一次。 謝謝! –