私は、逆シリアル化のためにジャージーとジャクソンを使用して安らかなサービスを書いています。私は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
}
}
}
よくわかりませんが、問題は各要素がそのインデックスでラップされていることだと思います。ジャージーまたはジャクソンに配列要素のラップを解除するように指示する方法はありますか? さらに情報を提供する必要がある場合はお知らせください。
コードでは、次のように結果を JSONWithPadding オブジェクトとして送り返しています。return new JSONWithPadding(array, callback);
web.xml
ところで、 POJO マッピングを使用するように jersey を既に構成しています。
<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 が不平を言っているのかわかりません...
ありがとう!