【问题标题】:GWT: Translate JSONValue into tree of Java POJOsGWT:将 JSONValue 转换为 Java POJO 树
【发布时间】:2012-08-14 22:42:16
【问题描述】:

GWT 提供了许多覆盖类型作为包装器来访问 JavaScript 环境中的复杂 JSON 结构,例如 JSONValueJSONArrayJSONNumber 等。

但是,这些包装对象不能通过 GWT 的 RPC 机制发送回服务器,也不能使用 Java 序列化或其他序列化框架进行序列化,因为它们只在客户端工作(作为覆盖类型)。

是否有可用的库/框架,可以将通用 JSONValues 树(其结构/类型未知)转换为 serializalbe Java POJO 对象树,例如:

class JJsonNumber implements Serializable, JJsonItem {
    double numberValue;
    ....
}

class JJsonObject implements Serializable, JJsonItem {
    Map<String, JJsonItem> properties;
    ...
} 

【问题讨论】:

  • 为什么不使用AutoBeans
  • 我认为 Autobeans 需要事先知道 JSON 数据的结构(例如 {"name": "Peter"} class Person { String name; ...})。我想处理任何 JSON 数据。

标签: java json gwt


【解决方案1】:

Java 中 JSON 的参考实现应该可以解决问题! (链接自 JSON.org 网站)

https://github.com/douglascrockford/JSON-java

例如:

JSONObject obj = new JSONObject(jsonString);

JSONObject.java

但是,为了让这个 JSON 参考实现在 GWT 环境中运行,需要在库中进行一些手动清理工作(删除对 InputStream 等的引用)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2019-08-17
    • 2019-06-25
    • 2019-07-06
    相关资源
    最近更新 更多