使用map <string,arraylist <string>&gt;在java jersey api中它只给出了map的键,即String

时间:2017-08-04 09:58:32

标签: java jersey jersey-2.0 jersey-client jersey-1.0

在按下方法时,只有作为“名字”的地图的键才会响应..... 为什么ArrayList的值不会响应

mehtod的终点如下

    public LoginResponse LoginUserJSON(LoginRequestVO requestVOLogin)
    {
    LoginResponse lr = new LoginResponse();
    Map<String, ArrayList<String>> mapObj = new 
    HashMap<String,ArrayList<String>>();
    ArrayList<String> loginRequestVOs = new ArrayList<>();

    lr.setStatus("Done");
    loginRequestVOs.add("parth1");
    loginRequestVOs.add("parth2");

    mapObj.put("name", loginRequestVOs);

    lr.setRequestData(mapObj);

    System.out.println(mapObj);
    return lr;
    }

responsevo如下

    @XmlRootElement(name= "Response")
    @XmlAccessorType(XmlAccessType.FIELD)
    public class LoginResponse
    {
    @XmlElement(name = "status")
    String status;

    @XmlElement(name = "requestData")
    private  Map<String, ArrayList<String>> requestData;

    public String getStatus()
    {
    return status;
    }

    public void setStatus(String status)
    {
    this.status = status;
    }

    public Map<String, ArrayList<String>> getRequestData()
    {
    return requestData;
    }

    public void setRequestData(Map<String, ArrayList<String>> requestData)
    {
    this.requestData = requestData;
    }
    }

1 个答案:

答案 0 :(得分:0)

如果你使用的是java 8,你可以尝试使用流api

Map<String, ArrayList<String>> mapObj = new HashMap<>();

mapObj.entrySet()
    .stream()
    .map(entry -> String.format("[key: %s, value: %s]", entry.getKey(), Arrays.toString(entry.getValue().toArray())))
    .forEach(System.out::println)
;