4

我正在使用带有 rest-plugin 的 Struts2 来构建 RESTful Web 服务。从 Java 对象序列化到 JSON 是一件轻而易举的事 - 一切都正确而精美地映射。接收 JSON 并尝试将其映射到 Java 对象是一个完全不同的问题。

我遇到了两个问题:

1) 无法将 JSON 数组转换为 List。通过使用 String[] 来“解决”它。

2)有一个ENUM是JSON,如下所示:

{"feature":{"id":2,"enabled":true,"description":"one click transactions feature","type":"ONECLICK_OPTIN_TRANSACTIONS"},"countries":["SG"],"clientId":10}

"type" : "ONECLICK_OPTIN_TRANSACTIONS" 应该映射到 Java 对象中的 ENUM,但当然是 Struts2 barfs。

有没有人成功做到这一点?

作为参考,这是异常的相关部分:

Method public java.lang.String org.apache.commons.lang.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on net.sf.ezmorph.MorphException: com.foo.bar.entity.FeatureType

谢谢,肖恩

4

1 回答 1

0

不,JSON 中没有枚举之类的东西。当然,有一些解决方法,比如使用哈希表,但根据技术进行思考总是好的。

于 2014-01-11T05:37:22.267 回答