2012-02-10 1 views
1

Я новичок в архитектуре JAX RS. Я сделал простой класс, как это:JAX RS, я не вижу массивы в json-выходе

@XmlRootElement 
public class DatoBase 

    { 

     private int _id; 
     private String _name; 
     private int[] _listId; 

//...here all get and set methods 
} 

Этот класс, как вы можете видеть, есть массив (_listId), правильно инициализирован. Я сделал свои веб-сервисы, что правильно istantiate и POST новый элемент DatoBase, и я сделал метод GET этот элемент, то есть:

@GET 
    @Produces("application/json") 
    @Path("{id}") 
    public DatoBase GetDato(@PathParam("id") int dId) 
    { 
     return dati.get(dId); 
    } 

где дати объявлен как:

private TreeMap<Integer,DatoBase> dati = new TreeMap<Integer,DatoBase>(); 

, но когда я пытаюсь получить элемент я уже отвечал, я вижу эту структуру:

{"id":"0","name":"Dato10"}

Я не могу видеть мою структуру _listId (инициализирован с 3-х элементов) в этом выводе.

Я ожидал, что выход так:

{"id":"0","name":"Dato10","listId":[...]}

Может кто-нибудь мне помочь или сказать мне, почему? Спасибо

+0

Разве вы не аннотировали свой класс с помощью javax.xml.bind.annotation.XmlRootElement? (также посмотрите на форматирование вашего кода) – perissf

+0

да, я правильно аннотировал. я просто забываю сообщать в этой теме. – Marco

ответ

0

Вы должны аннотировать свой массив @XmlElementWrapper.

@XmlElementWrapper 
private int[] _listId; 

См. here для получения дополнительной информации.