RestEasy Jettison单元素阵列错误

时间:2011-12-05 17:04:51

标签: json jackson resteasy jettison

问题详情:RestEasy + Jettison

当数组有两个元素时,格式为:

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

但是当数组有单个元素时,格式为:

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

默认情况下,RestEasy使用Jettison Mapped格式,它具有未作为数组返回的单个元素列表的已知限制。根据这个讨论,建议的解决方案是使用Jackson,但如果这不是一个选项,有没有办法使用RestEasy + Jettison并绕过单个元素数组问题?

Jersey有一个解决这个问题的方法,它使用JSONJAXBContext但是如何在RestEasy中解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用StAXON而不是Jettiison - http://beckchr.github.com/staxon/

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