我正在使用 Jersey 和 Jackson 编写一个用于反序列化的宁静服务。我正在使用 Spring 进行依赖注入,我也在使用com.sun.jersey.spi.spring.container.servlet.SpringServlet
(不使用 mvc)。我在客户端使用 RestyGWT。我正在从我的服务返回一组对象,我的客户抱怨它不是有效的 JSON 文档。这是服务返回的内容:
{
"0": {
"type": "AQUISITION_DT",
"value": "2013-2-1",
"stats": {
"total": 91,
"used": 4
}
},
"1": {
"type": "AQUISITION_DT",
"value": "2013-1-1",
"stats": {
"total": 24,
"used": 13
}
}
}
我不确定,但我认为问题在于每个元素都由其索引包装。有没有办法可以指示 Jersey 或 Jackson 解开数组元素?如果我需要提供更多信息,请告诉我。
在代码中,我将结果作为 JSONWithPadding 对象发送回来,如下所示:return new JSONWithPadding(array, callback);
顺便说一句,我已经在我的球衣中配置web.xml
了使用 POJO 映射:
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
更新 我从终端用 curl 进行了测试,返回的字符串看起来正确(我已经删除了回调外壳):
{
{
"type": "AQUISITION_DT",
"value": "2013-2-1",
"stats": {
"total": 91,
"used": 4
}
},
{
"type": "AQUISITION_DT",
"value": "2013-1-1",
"stats": {
"total": 24,
"used": 13
}
}
}
我最初发布的字符串正在由 restyGWT 报告。很抱歉这个令人困惑的帖子,我不确定为什么 restyGwt 抱怨......
谢谢!