我試圖用NSJSONSerialization連載從堆棧溢出API返回的數據,但它並不如預期運行:(NSJSONSerialization不工作
我如下使用代碼:
NSURL *apiURL = [NSURL URLWithString:@"http://api.stackoverflow.com/1.1/questions?tagged=objective-c&pagesize=30"];
NSError *error = nil;
// First option - failed
NSInputStream *inputStream = [NSInputStream inputStreamWithURL:apiURL]; // returning nil
id jsonFound1 = [NSJSONSerialization JSONObjectWithStream:inputStream options:NSJSONReadingMutableContainers error:&error];
// Second option - failed
NSData *jsonData = [NSData dataWithContentsOfURL:apiURL]; // returning correct value, verified after converting it to NSString
id jsonFound2 = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error]; // returning nil
我想在Xcode 4.2的iOS5上面的代碼和我得到(空)爲的inputStream和jsonFound2。
之前我是通過SBJSON來完成的,它工作正常。
任何人都可以建議我,如果我做任何錯誤或錯過什麼?
如果'inputStream'是'nil',那麼其他一切都會失敗。這不是'NSJSONSerialization'的問題;這是您流的問題。你確定'+ [NSInputStream inputStreamWithURL:]'適用於遠程URL嗎? – 2011-10-20 08:12:48
好吧..我會檢查它..也試過第二個選項,通過從apiURL獲取數據,然後使用JSONObjectWithData:options:error,在這種情況下,我也得到零無線:(。任何線索? – Devarshi
什麼'error'輸出參數包含? – 2011-10-20 08:30:25