2012-08-01 114 views
2

我有用于GWT RPC调用的java对象。在GWT客户端上,我需要将这些对象存储在Web数据库中。我需要能够将这些对象转换为字符串,然后从字符串中反序列化它们。我见过许多JSON,AutoBean和其他各种库,但是似乎没有人能够处理我的对象中的循环引用。gwt将对象从字符串序列化并反序列化为字符串(仅客户端)

任何人都知道可以处理我的需求的GWT库吗?

GWT RPC本身使用JSON传输响应给客户端,并处理循环引用好(至少我是这么认为的) - 所以我不明白为什么这个机制不能被重用。有任何想法吗?

回答

0

如果Web SQL服务符合JAX-RS或Jackson JSON,请使用RestyGWT。

您没有必要进行转换。 RestyGWT将您的POJO编码为符合Jackson标准的JSON。

另一面是你必须阅读JAX-RS,JAXB,Jackson注释。这不是我的另一面,而是一个学习广泛使用的Web服务技术的令人兴奋的机会。

GWT RPC本身使用JSON

      • 是不准确的感知发送到客户端的响应。
  • GWT RPC对象编码是故意模糊和难以破译和格式稳定性不会因版本保证。
  • RPC数据交换中没有json。

如果您的陈述是真实的,那么您将不需要扩展GWT RemoteServiceServlet来服务RPC请求的servlet。

顺便说一句,这是什么网络SQL服务?专有的内部?

+0

我认为你误解了我。没有涉及的Web服务。我正在谈论Web数据库(sqlite数据库)。我需要在本地sqlite数据库中持久化对象(作为字符串)并将字符串从数据库反序列化为对象。所有这些都是浏览器本地的。 – paul 2012-08-02 09:25:46

+0

restygwt有一个我可以使用的jsonencoder /解码器。它不支持循环引用,除非我使用我不能使用的注释。我想我可能会被迫尝试删除我的pojos中的循环依赖(或使它们变为transient),并使用restygwt来执行json/encoding/decoding或另一个库,例如获得多功能性,并在运行时将循环引用添加回来 – paul 2012-08-02 11:31:59

相关问题