GWT客户端JSON解析是缓慢的 - 如何改进?

时间:2011-01-24 02:10:56

标签: json serialization gwt

我正在尝试找到从服务器传输数据的最佳方式 - >客户使用Google Web Toolkit(GWT)。我有一些我想发送的JSON文本,但我用过的两个选项都非常慢。

选项1:服务器生成JSON字符串,将其解析为Java对象(我制作的可序列化类),通过RPC发送这些列表,然后客户端使用这些对象。这里的块是 RPC连接,这在传输和传输时非常慢。序列化对象。

选项2:服务器生成器JSON字符串,无解析工作,RPC作为字符串到客户端,然后客户端解析为Java对象并进行处理。这里的块是客户端GWT JSON解析库,它与糖蜜一样慢(13个对象约为7秒)。

我尝试的唯一“快速”选项是由序列化类的每个实例创建的一个串联字段串,然后在客户端进行拆分和切割。但是,如果在传输的内容中曾经使用了分裂字符,这很邋and且容易破裂。

也许我正在做一些事情,显然是错的。但是,如何改进GWT JSON解析时间 RPC传输时间的任何知识都将受到赞赏!

干杯,

1 个答案:

答案 0 :(得分:4)

我建议使用浏览器JSON解析器,包装在JSNI方法中。请注意,旧版浏览器不支持它,因此您可以使用https://github.com/douglascrockford/JSON-js来弥补这一差距。

请注意,提供的com.google.gwt.json.client JSON方法在西方并不是最快的,因为它们使用包装器对象。我编写了自己的JSON库(不久之后将作为开源发布),但与此同时,您可以编写JSNI方法以本机速度遍历JSON对象。