我正在使用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转换器。我尝试从pom依赖项中排除Jettison,但仍然无法解决问题。我找到了一个答案,明确告诉泽西岛在此处使用杰克逊:

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

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

10-13 04:33