Я строю список объектов для добавления в результат JSON:
Person personA = new Person("nameA", "age");
Person personB = new Person("nameB", "age");
Person personC = new Person("nameC", "age");
List<Car> cars = new ArrayList<Car>();
cars.add(new Car("Blue", "Small", personA));
cars.add(new Car("Green", "Big", personB));
cars.add(new Car("Red", "Big", personC));
и в моей карте результатов JSON я поставил:
result.put("cars", cars);
Как перебрать эту коллекцию в JavaScript. Мне нужно иметь доступ к "глубоким" элементам объекта.
$.getJSON(window.actionName,{
someId: someId}, function (ans){
//I want something like this
foreach(car in ans.cars){
car.person.age
}
});
РЕДАКТИРОВАТЬ:
result map private Map<String,List<Car>> result =
new HashMap<String, List<Car>>();
result.put("cars", cars);
но похоже, что эти списки не отправляются клиенту. Я получаю эту ошибку в отладчике Chrome:
ReferenceError: value is not defined
... failed to load resource: the server responded with a status of 500 (Internal Server Error)
ОТВЕТ: Ошибка произошла из-за того, что я сериализовал объекты, которые имели аннотации hibernante. Я создал объекты Bean, которые сериализовали их, и теперь сериализация (и итерация работает)