2011-04-28 117 views
102

作爲一個學習的經驗,我想使調用Web服務器/ Web服務,檢索一個JSON響應的iPhone應用程序,並使用該響應來填充UITableView的行(假定其轉換的JSON首先變成NSArray)。iPhone/iOS的JSON解析教程

任何人都知道任何可能有用的東西嗎?

回答

165

你一定會喜歡這個framework

你一定會喜歡這個tool

用於瞭解JSON,你可能會喜歡這個resource

而且你可能會喜歡這個tutorial

+0

對於我來說,你是絕對正確的,我非常感謝@icnivad,非常感謝主持人,這非常有用。 – 2011-04-28 03:51:31

+0

。你提到的教程需要DMG文件,但我在框架中提到的Link上找不到任何DMG文件。該鏈接指向github幷包含一個帶有各種類和示例的zip文件,但我不明白我需要在我的項目中插入哪個部分。你能幫我麼? – alekhine 2011-11-04 09:35:21

+2

是的,該項目轉移到github。在這裏獲取:https://github.com/stig/json-framework/。 – 2011-11-04 19:54:09

4

試試這個最快的JSON框架JSONKit。它比普通的JSON框架更快。

+1

你是對的,這是閃電般的! – 2012-01-14 02:43:59

+0

最好的JSON框架+1 – 2013-07-31 09:52:31

57

由於安裝iOS 5.0的蘋果提供的NSJSONSerialization class「以JSON轉換爲基礎對象和轉換Foundation對象到JSON」。沒有外部框架可以納入,根據benchmarks其表現相當不錯,明顯好於SBJSON。

+0

只要不打算支持iOS 4及更早版本,這句話就很棒。 – 2012-06-07 20:55:16

+18

既然現在是2012年,而且iOS6即將出現 - 那很有可能是這種情況。 – Abizern 2012-07-24 09:26:24

+1

而基準結果是「404未找到」。 – Pang 2013-12-22 06:08:32

1

下面是我的教程鏈接,這將引導您完成:

  • 從頭開始創建一個JSON WCF Web服務(和你要避免的問題)
  • 使其適應讀/寫SQL Server數據
  • 獲取iOS 6應用程序以使用JSON服務。使用JSON Web服務使用JavaScript

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

所有的源代碼

  • 提供,免費的。請享用。

  • 6
    SBJSON *parser = [[SBJSON alloc] init]; 
    
    NSString *url_str=[NSString stringWithFormat:@"Example APi Here"]; 
    
    url_str = [url_str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    
    NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:url_str]]; 
    
    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
    
    NSString *json_string = [[NSString alloc] initWithData:response1 encoding:NSUTF8StringEncoding] 
    
    NSDictionary *statuses = [parser2 objectWithString:json_string error:nil]; 
    
    NSArray *news_array=[[statuses3 objectForKey:@"sold_list"] valueForKey:@"list"]; 
    
        for(NSDictionary *news in news_array) 
    { 
    
        @try { 
         [title_arr addObject:[news valueForKey:@"gtitle"]]; //values Add to title array 
    
        } 
        @catch (NSException *exception) { 
    
         [title_arr addObject:[NSString stringWithFormat:@""]]; 
        } 
    
    +0

    感謝您提供的代碼示例! – Flea 2013-08-16 18:13:02