San*_*osh 5 parsing android json out-of-memory
我得到了 5MB 的 JSON 响应,我正在使用大小为 1024 的字节数组下载并保存在 StringBuffer 中。
要解析此响应,我必须创建一个 JSONObject,参数为字符串。在将响应转换为字符串时,我得到一个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"} }] }
Run Code Online (Sandbox Code Playgroud)
我将在列表中显示附件,当用户单击一个项目时,我必须将该附件保存在 SDCard 中。为此,我如何解析和保存 JSON 中的大量数据。
请提供任何解决方案。
提前致谢。
您需要使用基于流的解析器。在 API 11+ 中有http://developer.android.com/reference/android/util/JsonReader.html
下面,有 gson http://code.google.com/p/google-gson/
此外,您可能需要将服务响应保存为文件,然后再使用 JsonReader 重新打开它。
| 归档时间: |
|
| 查看次数: |
5178 次 |
| 最近记录: |