Jaxb один элемент в массиве - PullRequest
16 голосов
/ 13 апреля 2011

Я использую JAXB / Jersey (1.3) для преобразования java в json в REST API.Класс Java, который я возвращаю:строковый объект, а не массив строк.То есть я получаю:

{
  "myTags": "myString"
}

То, что я хочу:

{
   "myTags": ["myString"]
}

Кто-нибудь знает, что случилось?

Ответы [ 2 ]

7 голосов
/ 13 апреля 2011

Согласно комментариям Лучано, проблема заключается в том, что Джерси не использовал Джексона в качестве конвертера JSON по умолчанию.Я пытался исключить Jettison из зависимости pom, но это все равно не решило проблему.Я нашел ответ, чтобы явно указать Джерси использовать Джексона здесь:

Как я могу настроить сериализацию списка объектов JAXB в JSON?

0 голосов
/ 01 октября 2014

Я столкнулся с подобной проблемой и нашел простое решение.Маркировка @JsonSerialize вместо @XmlRootElement работает для меня.

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