2011-12-05 4 views
0

問題の詳細:RESTEasyの+投棄RESTEasyの投棄単一要素アレイバグ

アレイは、2つの要素を有する場合形式は:

{"MyArray" : {"Array" : [{"a" : 1, "b" : 2}, {"a" : 3, "b" : 4}]}} 

が、アレイは単一の要素を有する場合、フォーマットは次のとおり

{"MyArray" : {"Array" : {"a" : 1, "b" : 2}}} ***Missing the [] 

RestEasyは、配列として返されない単一の要素のリストの既知の制限があるJettisonマップ形式をデフォルトで使用します。この議論の通り、提案されている解決法はJacksonを使用することですが、それがオプションでない場合、RestEasy + Jettisonを使用して単一エレメント配列の問題を回避する方法がありますか?

JerseyにはJSONJAXBContextを使用するこの問題の解決策がありますが、これをRestEasyでどのように修正できますか?

+0

こんにちは、私は同じ問題があります。あなたは答えを得ましたか? –

+1

私はついにジャクソンに移りました。 Jettisonでこの作業を行う方法を見つけることができませんでした。 – user1028365

答えて

1

あなたはJettiisonの代わりにStAXONを試すこと - http://beckchr.github.com/staxon/

をStAXONを使用すると、配列要素へのパスを提供することができます。 wikiには例があります:https://github.com/beckchr/staxon/wiki/Using-JAX-RS

+0

あなたの返事をありがとう...しかし、私がJettisonから離れることができれば、それは簡単な解決策になるでしょう。残念ながら、私たちはJettisonに悩まされており、代わりにバグを解決したいと考えています。何かご意見は? – user1028365

+1

なぜあなたはJettisonで立ち往生していますか? "/ Array"をエリアパスとしてリストするモデルクラス(またはリソースメソッド)に@JsonXMLアノテーションを追加するだけです。 – chris

関連する問題