2017-04-11 37 views

回答

1

你可以看到这个(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> 
1

您可以使用“杰克逊图书馆

ObjectMapper mapper = new ObjectMapper(); 
String jsonInString = mapper.writeValueAsString(...your list object...);