GWT Autobean - как обрабатывать списки?
Я пытался оценить функцию GWT Autobean для декодирования / кодирования объекта JSON в доменные объекты для вызовов REST.
Следуя примеру: http://code.google.com/p/google-web-toolkit/wiki/AutoBean
Мне удалось преобразовать отдельный объект JSON в объект домена:
AutoBean<Person> personBean = AutoBeanCodex.decode(factory, Person.class, JsonResources.INSTANCE.json().getText());
где JsonResources.INSTANCE.json() возвращает строку JSON.
Однако мне не удалось преобразовать список объектов Person из JSON.
Было бы полезно, если у кого-нибудь есть пример этого?
Спасибо!
1 ответ
Ну, единственный способ, которым я могу придумать, - это создать специальный автобин, который будет иметь List<Person>
имущество. Например:
public interface Result {
void setPersons(List<Person> persons);
List<Person> getPersons();
}
И пример строки JSON:
{
persons:[
{"name":"Thomas Broyer"},
{"name":"Colin Alworth"}
]
}
ОБНОВЛЕНИЕ: Обходной путь, когда входной JSON является массивом (как предложено persons[0]
в комментариях). Например, JSON выглядит так:
[{"name":"Thomas Broyer"},{"name":"Colin Alworth"}]
И код разбора выглядит так:
AutoBeanCodex.decode(factory, Result.class, "{\"persons\": " + json + "}").getPersons();