在Android中解析简单字符串JSon

时间:2010-09-28 17:42:04

标签: android gson

我有以下代码:

String response = webService.webGet("");  the response of the web service

String LargeImage = new Gson().fromJson(response,String.class);

byte[] imageByteArray = Base64.decode(LargeImage);

响应如:“iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCA ...”Base64编码图像,大约有400,000个字符。

Web服务的响应非常快。当它试图用Gson解析它一段时间后(比如20-30秒)我得到一个内存不足的错误。如何在没有Gson的情况下解析这个简单的字符串,它应该相当简单,但我不知道该怎么做。 请建议我。谢谢你的时间

2 个答案:

答案 0 :(得分:2)

将Base64图像编码更改为可以直接下载图像的URL。

然后去获取flexjson 2.1,您可以在几行中轻松解析Android上的JSON。它也比GSON快。

http://flexjson.sourceforge.net

但是从您的帖子看来,您只是将Base64图像通过JSON发送为单个字符串。在这种情况下无需使用JSON。除非你计划将来在它周围包装一些元数据。

同时跳过将图像存储在DB中。只需将其写入文件系统,并将文件路径放在链接到对象的DB中。当你想知道你下载了什么图像时,更容易调试

答案 1 :(得分:1)

  

响应如:“iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCA ...”Base64编码图像,大约有400,000个字符。

开玩笑吧。

  

请告诉我。

找到合理的Web服务并切换到它。如果贵公司的某个人编写了Web服务,请解雇他们。如果编写了Web服务,请自行解雇。我认为没有必要返回一个图像 - 特别是那个庞大的图像 - 用Base64编码,用JSON包装。

与此同时,您可以尝试built-in Android JSON parser而不是Gson。