2011-12-05 102 views
0

问题的细节:RestEasy的+抛弃RestEasy的抛弃单元阵列错误

当阵列具有两个元素的格式是:

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

但是当阵列具有单独的元件,所述格式是:

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

RestEasy默认使用Jettison Mapped格式,它具有单个元素列表的已知限制,不会将其作为数组返回。按照这个讨论,提出的解决方案是使用Jackson,但是如果这不是一种选择,有没有办法使用RestEasy + Jettison并解决单个元素数组问题?

泽西岛有这个问题的解决方案,它使用JSONJAXBContext,但我如何解决这个RestEasy?

+0

嗨,我有同样的问题。你有答案吗? –

+1

我终于搬到了杰克逊。找不到与Jettison合作的方法。 – user1028365

回答

1

您可以尝试StAXON代替Jettiison的 - http://beckchr.github.com/staxon/

随着StAXON您可以到数组元素提供路径。维基有一个例子:https://github.com/beckchr/staxon/wiki/Using-JAX-RS

+0

感谢您的回复......但是如果我能摆脱Jettison,这将是一个简单的解决方案。不幸的是,我们被Jettison卡住,想要解决这个问题。有什么想法吗? – user1028365

+1

你为什么坚持使用Jettison?你所要做的就是向模型类(或资源方法)添加一个@JsonXML注释,它将“/ Array”列为区域路径。 – chris