0

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;
    ...
} 
4

1 回答 1

0

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

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

例如:

JSONObject obj = new JSONObject(jsonString);

JSONObject.java

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

于 2012-08-23T07:04:56.943 回答