2012-04-06 73 views
2

我正在處理的應用程序需要解析一個非常大的Json文件(17.5 MB或17mil字符)。iOS NSJSONSerialization returns null

我已經編碼和測試了應用程序使用較小的Json文件,併成功地做了解析,只有當我測試使用該17.5 MB文件它返回我空對象。

我正在使用iOS 5.1並使用iOS 5.0的JSON閱讀器API以及JSONKIT,它們都返回相同的響應NULL。

任何建議,將不勝感激

感謝

+0

你確定這是一個有效的(格式正確的)json文件嗎? – Alladinian 2012-04-06 11:16:23

+0

是的,我確實使用簡單的C#代碼驗證了JSON。 – Mike 2012-04-07 11:58:53

+0

我與AFNetworking有同樣的問題,只有極限低得多(大約25kb)。如果有人有解決方案,請發送。 感謝 – Claus 2012-04-11 15:13:19

回答

0

如果真的是你可能會分解成一些自然邊界塊大小的問題。我在過去用大型xml文件完成了這項工作,並取得了良好的效果。

但是正如@Alladinian在評論中提到的那樣確認它是一個有效的JSON文件。

+0

是的,我確實用一個簡單的C#代碼驗證了JSON。 JSON文件沒有問題,只是我猜文件大小超過了可以緩存在內存中的大小。所以我工作的一個功能,打破了JSON並解析它一個接一個。 – Mike 2012-04-07 11:59:48

+2

另一個解析器接受它的事實並不意味着它是有效的JSON。 – 2013-07-22 22:04:09

0

fwiw,我最近發現了一個錯誤,其中當被解析的JSON文件的大小大於32k時,NSJSONSerialization失敗。當我們修剪源JSON時,相同的代碼路徑工作得很好。

+0

Yup隊友,感謝您的信息。我確實把它分解成小JSON文件,解決了內存問題。 – Mike 2013-07-23 02:06:41