2012-07-19 54 views
1

我想我不是標題不夠清晰,所以這裏有雲:SBJSON解析器不會更新它的內容

我建立具有Facebook登錄的應用程序,但是我用的是SBJSON解析器的Facebook API在其中解析其他文檔。現在我的問題對我來說很陌生。解析器沒有獲取我在它讀取的JSON中創建的更新。

我用這個內容:

{ 
    "categories": [ 
     { 
      "id": 5, 
      "catunique": "f874f7d2b48b099400e9f22ea512c234c4f89d81", 
      "cattitle": "Nature", 
      "catfold": "nature" 
     }, 
     { 
      "id": 3, 
      "catunique": "edfbb81a83e37b045bfddec1c4fbbbef52b408e7", 
      "cattitle": "Bikes", 
      "catfold": "bikes" 
     } 
    ], 
    "images": [ 
     { 
      "id": 31, 
      "catunique": 5, 
      "imgtag": "Pig", 
      "imgname": "pig759.png", 
      "imgbname": "[email protected]" 
     }, 
     { 
      "id": 32, 
      "catunique": 5, 
      "imgtag": "Frog Shadow", 
      "imgname": "frogshadow503.jpg", 
      "imgbname": "[email protected]" 
     }, 
     { 
      "id": 33, 
      "catunique": 3, 
      "imgtag": "Cat", 
      "imgname": "cat518.jpg", 
      "imgbname": "[email protected]" 
     } 
    ] 
} 

這被分析確定的,但如果我在「圖像」對象我添加另一個項目重新運行的應用程序和響應是沒有得到它。

在我的應用程序委託我使用的解析器

這個代碼
SBJSON *json = [[SBJSON alloc] init]; 

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://somedomain.com/images.json"]]; 
//[request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData]; 
//[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyNever]; 

NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
//set data to string with encoding 
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; 
imagesJsonData = [json objectWithString:json_string error:nil]; 

有人能告訴我,如果這是一個服務器的問題,解析器的問題還是我的編碼問題

回答

2

第一關:你使用了真古老版本的SBJson。我建議你使用更新的版本。第二:你確定你的服務器實際上是在發送新的數據文件嗎?嘗試在Safari/Firefox/Chrome中查看它。如果額外的數據在那裏,請檢查NSURLConnection是否以某種方式緩存您的請求。 (可能附加一個隨機的?r=1234123到URI?)