2011-05-02 45 views
0

我正在尋找將距離計算器添加到我的應用程序。我一直在尋找谷歌的API,我似乎無法解碼JSON。我已經設法用PHP來做到這一點。代碼爲:在iPhone上提取JSON respose的特定部分

substr($convertedtoarray['routes']['0']['legs']['0']['distance']['text'], 0, -3); 

在iPhone上,我設法得到JSON響應,但無法獲得我想要的特定部分。

的Json地址:http://maps.googleapis.com/maps/api/directions/json?origin=plymouth&destination=pl210bp&sensor=false

NSMutableDictionary *luckyNumbers = [responseString JSONValue]; 

[responseString release]; 
if (luckyNumbers != nil) { 

    NSString *responseStatus = [luckyNumbers objectForKey:@"routes"];' 

} 

會在哪裏我該何去何從?

任何幫助將是巨大的歡呼聲

回答

0
NSString *responseStatus = [[[[[[luckyNumbers objectForKey:@"routes"]objectAtIndex:0] objectForKey:@"legs"]objectAtIndex:0] objectForKey:@"distance"] objectForKey:@"text"]; 

非常難看,你可以在不同的對象中提取這樣的:

NSArray *routesArray = [luckyNumbers objectForKey:@"routes"]; 
    NSDictionary *firstRoute = [routesArray objectAtIndex:0]; 
    NSArray *legsArray = [firstRoute objectForKey:@"legs"]; 
    NSDictionary *firstLeg = [legsArray objectAtIndex:0]; 
    NSDictionary *distanceDict = [firstLeg objectForKey:@"distance"]; 
    NSString *distanceText = [distanceDict objectForKey:@"text"]; 

好運。

+0

謝謝,這就是我之後!乾杯! – dan 2011-05-02 17:26:27

0

做的是創建一個字典迭代器的最簡單的事情,而環比什麼兒童luckynumbers的字典裏,你可以打印出來,或調試,看什麼鍵對於這些孩子來說,他們是什麼樣的對象類型。

我使用這種技術幾次來找出我正在返回的XML文檔的結構是什麼樣的。