我正在使用 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/