2013-03-07 68 views
1

我很抱歉打擾你,但我還沒有找到任何可以幫助我的可用主題。在iOS中使用NSJSONSerialization時是否有數據限制?

我通過NSURLConnection使用NSMutableRequest來獲取我的JSON數據。一旦收到數據,我使用[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]將其序列化。

獲取較小的JSON文件時工作得很好,但當我收到較大的JSON文件時它不起作用。我寫日誌NSLog(@"--->: %@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);,輸出不是一個,而是兩個以--->:開頭的日誌記錄。第一個輸出包含JSON的第一部分,JSON的其餘部分放在第二個輸出中。

此錯誤不允許根據需要創建NSDictionary。收到的每個「更大」的JSON都被分成7500-8000個字符。我的問題是:是否有NSJSONSerialization可以處理的限制?從我的角度來看,它似乎可以處理8千字節的數據,就是這樣。有什麼方法可以繞過它嗎?

謝謝你的見解。

+0

我使用iOS的JSON解析器進行'50 kB'-'100 kB'響應。沒有問題。 – holex 2013-03-07 17:23:28

+0

不知道你確切的問題是什麼,但是我們通常在500K左右有JSON數據,並且使用NSJSONSerialization轉換它並且使用NSLog將它轉儲到日誌中也沒有問題。到目前爲止我還沒有看到任何限制。 – ahwulf 2013-03-07 14:28:00

回答

0

謝謝你們的答案。我終於找到了解決問題的辦法。問題在於在didReceiveData方法中嚴重地保存數據。應用[receivedData appendData:data];後,一切開始良好。 8 kB問題可能是一次發送的大量數據。

相關問題