4

Struts2 と rest-plugin を使用して、RESTful Web サービスを構築しています。Java オブジェクトから JSON へのシリアル化は簡単で、すべてが正しく美しくマッピングされました。JSON を受け取り、それを Java オブジェクトにマップしようとすることは、まったく別の問題です。

私は2つの問題に遭遇しました:

1) JSON 配列をリストに変換できませんでした。代わりに String[] を使用して「解決」しました。

2) 次のような JSON である ENUM があります。

{"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 に答える