0

問題の詳細: RestEasy + Jettison

配列に 2 つの要素がある場合、形式は次のとおりです。

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

ただし、配列に単一の要素がある場合、形式は次のとおりです。

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

RestEasy はデフォルトで Jettison Mapped 形式を使用します。これには、単一要素のリストが配列として返されないという既知の制限があります。この議論によると、提案された解決策はジャクソンを使用することですが、それがオプションでない場合、RestEasy + Jettison を使用して単一要素配列の問題を回避する方法はありますか?

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

4

1 に答える 1

0

Jettison の代わりに StAXON を試すことができます - http://beckchr.github.com/staxon/

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

于 2011-12-05T20:31:22.360 に答える