@GET
@Path("/test_map")
@Produces(MediaType.APPLICATION_JSON)
public RestResponse testMap(){
RestResponse restResponse = new RestResponse();
List<String> data = new ArrayList<>();
data.add("test");
data.add("map");
restResponse.setData(data);
restResponse.setStatus(RestResponse.EStatus.OK);
return restResponse;
}
的回复:
{ status: "OK" data: "test map" }
看来泽西调用list.toString(),我想返回一个数据列表
{ 状态:&#34;好的&#34; 数据:[&#34; test&#34;,&#34; map&#34;] }
可以在球衣2.4中做到这一点吗?
答案 0 :(得分:0)
这样做的一种方法是,
创建一个新类。
使用List data = new ArrayList&lt;&gt;();作为会员。 为该类实现add方法,以添加到ArrayList。
覆盖该类的toString方法,以按照您希望的方式返回列表。
在代码中使用该类,而不是ArrayList。
答案 1 :(得分:0)
Use JacksonJsonProvider.class for marshalling and unmarshalling that can be found in jackson-core-asl-1.9.2.jar
just load this class in jersey resource
For example :
import java.util.HashSet;
import java.util.Set;
import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application;
import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
@ApplicationPath("/rest/v1")
public class YourResourceLoader extends Application
{
/* (non-Javadoc)
* @see javax.ws.rs.core.Application#getClasses()
*/
@Override
public Set<Class<?>> getClasses()
{
Set<Class<?>> classes = new HashSet<Class<?>>();
classes.add(JacksonJsonProvider.class);
return classes;
}
}