jaxb数组中的单个元素

标签 jaxb jersey

我正在使用 JAXB/Jersey (1.3) 在 REST API 中将 java 转换为 json。我返回的 java 类如下:

public class MyClass {  
  List<String> myTags;
  public List<String> getMyTags() {
    return myTags;
  }
}

我的问题是,如果列表 myTags 中只有一个元素,那么数据将转换为 json 作为字符串对象,而不是字符串数组。也就是说,我得到:

{
  "myTags": "myString"
}

我想要的是:

{
   "myTags": ["myString"]
}

有人知道怎么回事吗?

最佳答案

根据 Luciano 的评论,问题在于 Jersey 没有使用 Jackson 作为默认的 JSON 转换器。我尝试将 Jetison 从 pom 依赖中排除,但仍然没有解决问题。我找到了一个明确告诉 Jersey 使用 Jackson 的答案:

How can I customize serialization of a list of JAXB objects to JSON?

关于jaxb数组中的单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5641430/

相关文章:

java - 二维列表(List<List<X>>)的验证(@Valid)

java - 带域的 Grizzly Web 服务器

jersey - 在基于 RestEasy 的服务中为 ThreadLocal 存储使用服务器请求和响应过滤器

java - 我可以使用 Jersey(和 MOXy)发送一组对象吗?

java - 使用 JAXB 将列表包装器转换为列表

java - 空目标节点中结果的 XPath 评估

java - JAXB Generated classes giving namespace cannot be resolved 错误

java - 将 XML 映射到与 XML 结构不匹配的 Java 对象

java - 无法访问 Spring Boot 和 Jersey 应用程序中的某些 Controller

java - 在 Jersey 中,如何处理深度嵌套的复杂对象的 @POST 参数?