私はこのような何か投稿しています:次のように私は、コントローラ内のデータを取得することができますポストJSON配列
{
"stuff": [
{
"thingId": 1,
"thingNumber": "abc",
"countryCode": "ZA"
},
{
"thingId": 2,
"thingNumber": "xyz",
"countryCode": "US"
}
]
}
を:
@RequestMapping(value = "/stuffs", method = RequestMethod.POST)
public String invoices(@RequestBody Map<String, List <Stuff>> stuffs) {
return "Hooray";
}
私が本当にしたいのですがどのようなコントローラーにList of Stuffを渡すだけです。すなわち、
@RequestMapping(value = "/stuffs", method = RequestMethod.POST)
public String invoices(@RequestBody List <Stuff> stuffs) {
return "I'm sad that this won't work.";
}
しかし、ジャクソンはこれを好まない。私が得るエラーは以下の通りです:
JSONドキュメントを読み取れませんでした:[ソースでSTART_OBJECTトークン\ nのうちの java.util.ArrayListのインスタンスをデシリアライズできません: [email protected]。行:1、列:1]; 例外はcom.fasterxml.jackson.databind.JsonMappingExceptionです。 は、[ソース:[email protected]で、START_OBJECT トークンのうち、java.util.ArrayListのインスタンスを非直列化できません。行:1、 コラム:1]
(それが有効なJSONではありませんので)私は、次の中で送信することはできません。
{
[
{
"thingId": 1,
"thingNumber": "abc",
"countryCode": "ZA"
},
{
"thingId": 2,
"thingNumber": "xyz",
"countryCode": "US"
}
]
}
私は、これは単純なものであることを確信しているが、私は蒸留することはできません私のStackOverflowやGoogle検索からの回答。
助けていただけたら幸いです! :)
はい!期限が過ぎるとすぐに、これを受け入れられた答えとして選択します。あなたは私をいくつかの激しい挫折から救ったのです! – orrymr
うれしい –