【发布时间】:2015-06-23 07:23:50
【问题描述】:
我需要向服务器端发送一个 JS 字符串数组,作为 JS 对象字段的一部分,例如:
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 是否有任何正确的 JSON 格式可以理解为有效的 Array 或 List of String ?
【问题讨论】:
-
您是否尝试过使用 Collection 而不是 []。 (这就是我正在使用的)
-
默认 JSON 提供程序是 Moxxy。也许尝试使用杰克逊,你在做什么应该没有问题。当迁移到 Jersey 2.X 时,我尝试了 Moxxy,我发现 List 必须被包装, Map
只是不支持等等。我用 Jackon 替换它并且从来没有任何(de)序列化问题。 -
@Danielson 我尝试使用 Collection 和 List 以及 String[] 都没有工作
标签: javascript java json jersey jax-rs