GWT:将JSONValue转换为Java POJO树

时间:2012-08-14 22:42:17

标签: java json gwt

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

Java中JSON的参考实现应该可行! (它是从JSON.org网站链接的)

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

例如:

JSONObject obj = new JSONObject(jsonString);

请参阅JSONObject.java

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