使用javax.ws.rs.core.Response.readEntity从JSON对象中提取字符串列表

Baz*_*Baz 2 json jax-rs

如果我的回答如下:

{
  "values": [ "1", "2" ]
}
Run Code Online (Sandbox Code Playgroud)

我应该如何使用readEntity来填充List<String>的价值观:1,2

cas*_*lin 5

您可以将实体读作Map<String, List<String>>:

Map<String, List<String>> map = 
    response.readEntity(new GenericType<Map<String, List<String>>>() { });
List<String> values = map.get("values");
Run Code Online (Sandbox Code Playgroud)

或者定义自己的POJO:

public class MyBean {

    private List<String> values;

    // Getters and setters
}
Run Code Online (Sandbox Code Playgroud)
List<String> values = response.readEntity(MyBean.class).getValues();
Run Code Online (Sandbox Code Playgroud)

你显然必须有一个JSON提供商,如杰克逊注册.