CXF 内で Jackson を使用してデータをシリアライズ/デシリアライズしています。残念ながら、JSON 配列をデシリアライズするように CXF/Jackson を構成するのに苦労しています。問題の解決にご協力いただければ幸いです。
この時点まで、ほとんどの json データはオブジェクト形式でした。
{ "objectCollection": [ {...}, {...}, {...}... ] }
ただし、問題の json データは次の形式です。
[ {...}, {...}, {...} ]
Web サービス エンドポイントは、単一のプロパティ (JSON 配列を介して送信されるグループのコレクション) を持つ "GroupsDto" オブジェクト (以下を参照) を想定しています。
@PATH(...)
public Response createGroups(GroupsDto groups) {
...
}
GroupsDto コレクション プロパティに @JsonDeserialize を次のように追加しましたが、機能しません。「START_ARRAYトークンからGroupsDtoのインスタンスを逆シリアル化できません」というメッセージが引き続き表示されます
public class GroupsDto {
private Collection<GroupDto> groups;
/**
* @return the groups
*/
@XmlElement(name="group")
@JsonDeserialize(contentAs=GroupDto.class)
public Collection<GroupDto> getGroups() {
return groups;
}
...
}