2

こんにちは、すでに質問されていて申し訳ありませんが、見つかりませんでした。

これが私の問題です。動的であるため、Webサービスに送信するフィールドの数がわかりません。そのため、json配列をジャージjaxbリソースに送信したかったのです。私のjson配列のオブジェクトは文字列の一次元配列になるので、私は以下を行うことができるはずです:

  @POST
    @Path("/test")
    @Produces(MediaType.APPLICATION_JSON)
    public Response InputList(@QueryParam("list") final List<String> inputList)

これが私のjson配列です { "list": [ "hello", "world" ] }

これはうまくいかないようです....

4

1 に答える 1

3

JSON が文字列のリストを表していないため、現在のものは機能しません。文字列のリストである単一のプロパティを持つオブジェクトを表します。ウィット:

["hello", "world"]

List<String>Java で直接逆シリアル化できる単純な JSON データ ストリームです。一方:

{"list" : ["hello", "world"]}

オブジェクトに逆シリアル化する必要がある、より複雑なデータ ストリームです。たとえば、次のようになります。

public class ListHolder {
    private List<String> list;

    // constructors, getters/setters
}

これを Jersey リソースで使用できます。

@POST
@Path("/test")
@Produces(MediaType.APPLICATION_JSON)
public Response InputList(@QueryParam("list") final ListHolder listHolder) {
    final List<String> list = listHolder.getList();
    // rest of code
}
于 2013-07-01T06:06:48.953 に答える