2

我想使用 XML 或 JSON 在 GET 方法中返回 HashMap> 类型的对象。在客户端,我得到了地图的键,但值为空。

这是返回类:

private HashMap<String, ArrayList<String>> hashMap = new HashMap<>();

public HashMap<String, ArrayList<String>> getHashMap() {
    return hashMap;
}

public void setHashMap(HashMap<String, ArrayList<String>> hashMap) {
    this.hashMap = hashMap;
}

这是服务中的 GET 方法:

@GET
@Path("/mapa")
@Produces(MediaType.APPLICATION_XML)
public Test mapa() {

    Test test = new Test();

    HashMap<String, ArrayList<String>> hashMap = new HashMap<>();

    ArrayList<String> list = new ArrayList<>();
    list.add("first");
    list.add("second");

    hashMap.put("first", list);
    test.setHashMap(hashMap);

    return test;
}

我在浏览器中得到这个:

<test>
  <hashMap>
    <entry>
      <key>first</key>
      <value/>
    </entry>
  </hashMap>
</test>

为什么值是空的?

4

1 回答 1

0

您是否尝试过使用 Response 而不是 Test Class ?

@GET
@Path("/mapa")
@Produces(MediaType.APPLICATION_XML)
public Response mapa() {

    Test test = new Test();

    HashMap<String, ArrayList<String>> hashMap = new HashMap<>();

    ArrayList<String> list = new ArrayList<>();
    list.add("first");
    list.add("second");

    hashMap.put("first", list);
    test.setHashMap(hashMap);

    return Response.status(200).entity(test).build();
} 
于 2012-07-23T09:26:06.237 回答