JAX-RS打印列表[]作为JSON/XML
答
你可以看到这个(Does rest supports arraylist of objects?)
的JAX-RS可以使用新泽西
你首先应该创建:
@XmlRootElement(name = "responseList")
public class ResponseList {
private List<Object> list;
public List<Object> getList() {
return list;
}
public void setList(List<Object> list) {
this.list = list;
}
}
后,我们就可以使用String作为一个对象(或任何其他物体):
@GET
@Path("/get")
@Produces(MediaType.APPLICATION_XML)
public ResponseList addObjects() {
String string1 = "s1";
String string2 = "s2";
ArrayList<Object> list = new ArrayList<Object>();
list.add(string1);
list.add(string2);
ResponseList strings=new ResponseList();
strings.setList(list);
return strings;
}
pom.xml:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.12</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-grizzly2-http</artifactId>
<version>2.12</version>
</dependency>
,其结果是:
<responseList>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">s1</list>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">s2</list>
</responseList>
答
您可以使用“杰克逊图书馆
ObjectMapper mapper = new ObjectMapper();
String jsonInString = mapper.writeValueAsString(...your list object...);