【问题标题】:Is there a JSON library that can serialize Proxy objects?是否有可以序列化代理对象的 JSON 库?
【发布时间】:2010-04-28 19:48:08
【问题描述】:

使用 ActiveObjects 作为我的 ORM 和 Gson 作为我的 JSON 处理器。

从 持久化的对象。问题是我坚持的课程实际上是 一个接口和 AO 在后台代理该对象。这里是 一些示例代码:

    Venue venue = manager.get(Venue.class, id);
    gson.toJson(venue);

提出了这个例外:

java.lang.UnsupportedOperationException: Expecting parameterized type,
got interface java.lang.reflect.InvocationHandler.
 Are you missing the use of TypeToken idiom?
 See http://sites.google.com/site/gson/gson-user-guide#TOC-Serializing-and...

因为 place.getClass().getName() 给出:

$Proxy228

我尝试了几种不同组合的解决方案:

    gsonBuilder.registerTypeAdapter(Venue.class, newVenueSerializer());
    Type listType = new TypeToken<Venue>() {}.getType();

到目前为止没有任何效果,我正在使用一种不稳定的逐个字段的解决方法。有什么建议么?我没有和 Gson 结婚,所以如果有其他库可以做到这一点,我会很乐意使用它。

【问题讨论】:

    标签: java json proxy gson active-objects


    【解决方案1】:

    Flex JSON 应该可以工作 - 它将使用 bean 属性内省器来拉取对象,我假设代理类正确地实现了这些。

    【讨论】:

    • 会试一试并报告。谢谢!
    • 看起来代理类没有实现任何内省。但是,如果确实如此,那么您是对的。所以,你赢了。
    【解决方案2】:

    还可以查看Jackson

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 2020-05-24
      • 2012-07-02
      • 1970-01-01
      • 2011-01-08
      相关资源
      最近更新 更多