Jersey/Jaxb возвращает список строк вместо целых чисел

это класс, который возвращает моя служба трикотажа:

@XmlRootElement(name="chart-data")
public class ChartDataDto {
private List<Series> series = new ArrayList<>();

    public ChartDataDto()
    {

    }

    public void putSeries(String name, Integer... series)
    {
        this.series.add(new Series(name, series));
    }

    @XmlElement(name="series")
    public List<Series> getSeries()
    {
        return this.series;
    }

    @XmlRootElement(name="series")
    static class Series
    {
        @XmlElement(name="name")
        public String name;
        @XmlElement(name="values")
        public List<Integer> series;

        public Series()
        {

        }

        public Series(String name, Integer... series)
        {
            this.name = name;

            this.series = Arrays.asList(series);
        }
    }
}

Возвращаемая строка JSON, например:

{"series":[
    {
        "name":"Series 1",
        "values":["1","2","2","3","3","4","4","5","5","6","6","7","7"]
    },{
        "name":"Series 2",
        "values":["7","7","6","6","5","5","4","4","3","3","2","2","1"]
    }
]}

Но я думаю, что правильная строка JSON должна быть:

{"series":[
    {
        "name":"Series 1",
        "values":[1,2,2,3,3,4,4,5,5,6,6,7,7]
    },{
        "name":"Series 2",
        "values":[7,7,6,6,5,5,4,4,3,3,2,2,1]
    }
]}

Что не так? Неверный тип для целочисленного списка? Неправильные аннотации?


person Reini    schedule 19.09.2012    source источник


Ответы (1)


Используя Jackson и Gson, ваш код работает хорошо.

person Ilya    schedule 19.09.2012
comment
Что касается этого поста, я переключился на Джексона, все хорошо. stackoverflow.com/questions/9595561/ - person Reini; 19.09.2012