我得到了5MB的JSON响应,我正在下载并使用1024大小的字节数组保存在StringBuffer中。
要解析此响应,我必须使用参数作为String创建一个JSONObject。在将响应转换为String时,我得到out of memory exception(stringBufferVar.toString()).
从服务中我将获得以下响应,最多5个附件,每个最大5MB数据采用Base64编码。
以下是服务的回复。
{"result":[{"attachment":{"name":"one.doc", "type":"document", "data":"base64 encoded data max of 5MB"}, {"attachment":{"name":"two.txt", "type":"text", "data":"base64 encoded data max of 5MB"} }] }
我会在列表中显示附件,当用户点击某个项目时我必须在SDCard中保存该附件。为此,我如何在JSON中解析和保存大量数据。
请提供任何解决方案。
提前致谢。
答案 0 :(得分:1)
您需要使用基于Stream的解析器。在API 11+中有http://developer.android.com/reference/android/util/JsonReader.html
下面是gson http://code.google.com/p/google-gson/
此外,您可能需要将服务响应保存为文件,然后再使用JsonReader重新打开它。
答案 1 :(得分:0)