JSerialization을 위해 Jersey와 Jackson을 사용하여 편안한 서비스를 작성하고 있습니다. 나는 의존성 주입을 위해 Spring을 사용하고 있는데, com.sun.jersey.spi.spring.container.servlet.SpringServlet
(mvc를 사용하지 않음)도 사용하고있다. 나는 클라이언트 쪽에서 RestyGWT를 사용하고있다. 내 서비스에서 객체의 배열을 반환하는 중, 내 클라이언트가 유효한 JSON 문서가 아니라고 불평하고있다. 다음은 서비스가 반환하는 것입니다.Spring-Jersey-Jackson-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
}
}
}
확실하지 않지만 문제는 각 요소가 색인에 의해 래핑된다는 것입니다. 저지 또는 잭슨에게 배열 요소의 포장을 풀도록 지시 할 수있는 방법이 있습니까? 자세한 정보를 제공해야하는 경우 알려 주시기 바랍니다. 코드에서
는 그래서 같은 JSONWithPadding 개체로 결과를 다시 보내고있다 :return new JSONWithPadding(array, callback);
을 BTW, 이미 POJO 매핑을 사용하는 내 web.xml
에 저지를 구성한 :
<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가 불평하고 있는지 잘 모르겠습니다 ...
Thanks!
코드에서 JSON을 어떻게 반환합니까? – Willy
1) Willy가 말한 것처럼 대괄호가 있어야합니다. 2) 우리가 당신을 도우려는 경우에는 클라이언트 측 코드를 붙여 넣어야합니다. restService 인터페이스에서 배열을 가져 오는 중 콜백의 유형이 무엇입니까? –