我需要JS字符串数组发送到服务器侧,作为诸如JS对象的字段的一部分:如何发送JS属性阵列泽西JAX-RS JSON基于REST web服务
JSON :
{prodName: "abc123", prodImages: ["a1", "a2", "a3"]}
我正在使用Jersey JAX-RS来使用JSON输入。 在我的服务器端代码,我有:
Web服务方法签名:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("/delete")
public void deleteMethod(ProdListVO prodListDeleteVO) //...
JAX-B对象:
@XmlRootElement
public class ProdListVO {
private String prodName;
private String[] prodImages;
// ... getters and setters
个prodName的设置是否正确,而prodImages为空。 Jersey有理解为有效的数组或字符串列表吗?
你试过使用Collection <>而不是[]。 (这就是我使用的) – Danielson
默认的JSON提供者是Moxxy。也许尝试使用杰克逊,它应该没有问题,你在做什么。当移动到Jersey 2.X时,我尝试了Moxxy,并且我发现List必须被包装,Map不被支持,等等。我用Jackon替换它,并且从来没有任何(de)序列化问题。 –
Filip
请参阅:https://jersey.java.net/documentation/latest/media.html#json.jackson – Filip