2011-12-27 51 views
0

聲明:我是JSON的新手。需要一些幫助訪問JSON數據iPhone

我有一個網站提供它的數據在JSON格式,我正在建立一個iPhone應用程序訪問該數據的過程。我遇到的問題實際上並不是應用程序本身,而是訪問某些JSON數據的語法。

我沒有訪問在發表[]部分數據的任何問題,但是我想訪問附件>圖片> wptouch全新的縮略圖> URL

我知道你通常會使用點語法訪問數據,但是我嘗試過的所有內容都無法在Post []部分之外選擇任何內容。

這非常簡單我通過帖子從服務器獲取並將它們添加到NSStrings或UIImage在UITableView中使用的圖像的情況下。

我有所有的工作,但我似乎無法訪問附件下的任何東西。我試圖爲附件創建一個不同的NSDictionary,但沒有奏效。

再次記住我對JSON /訪問其中的數據非常陌生。

任何幫助,將不勝感激!

回答

0

使NSMutableDatajsonMutableData而不是NSMutableString。 在連接dedreceiveresponse,初始化jsonMutableData然後,

//Json Connection 

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    [jsonMutableData appendData:partialData]; 
} 

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 

    NSString *jsonData = [[NSString alloc] initWithData:jsonMutableData encoding:NSUTF8StringEncoding]; 

    NSDictionary *filesJSON = [jsonData JSONValue]; 


    NSArray *files = [filesJSON objectForKey:@"posts"]; 
//further code 
+0

很抱歉,如果這是一個愚蠢的問題,但如何將其更改爲NSMutableData代替的NSMutableString幫助我獲得在「附件」中的信息?如果我改變它,我只是** NSString * wpimage = [文件objectForKey:@「wptouch-new-thumbnail」]; [wptouch addObject:wpimage]; **,它會工作? – KDM 2011-12-27 18:17:04

+0

這不是關於將NSMutableString更改爲NSMutableData。看到「關鍵」的事情是,你必須等到所有的數據完全接收之後再嘗試將其轉換爲NSString,因爲可能會出現數據沒有完全接收到的情況。這就是我發佈的代碼中所顯示的內容。 – samfisher 2011-12-28 05:32:51