Je construis une liste d'objets à mettre en résultat JSON:parcourir la liste des objets complexes dans 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));
et dans mon JSON carte de résultat, je mets:
result.put("cars", cars);
Comment itérer sur cette collection en JavaScript. J'ai besoin d'avoir accès aux éléments "profonds" de l'objet.
$.getJSON(window.actionName,{
someId: someId}, function (ans){
//I want something like this
foreach(car in ans.cars){
car.person.age
}
});
EDIT:
result map private Map<String,List<Car>> result =
new HashMap<String, List<Car>>();
result.put("cars", cars);
mais il seemes que cette liste ne sont pas envoyés au client. Je reçois cette erreur dans débogueur Chrome:
ReferenceError: value is not defined
... failed to load resource: the server responded with a status of 500 (Internal Server Error)
RÉPONSE: erreur était parce que je sérialisation des objets qui avaient hibernante annotations. J'ai créé des objets Bean qui et les sérialisé et maintenant la sérialisation (et itération travaille)
Ce code d'état 500 signifie que votre serveur est écrasé et brûlé. Rien à voir avec votre javascript. Vérifiez votre sortie shell/IDE/terminal pour les erreurs JAVA. –
Oui, il semble que le prbolem est en sérialisation de la carte. Il ne peut pas sérialiser Map> mais il peut sérialiser Map . –
vale4674