javascript - 迭代 JSON 中的复杂对象列表?

标签 javascript jquery json iteration

我构建了一个对象列表以放入 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)

回答:错误是因为我正在序列化具有休眠注释的对象。我创建了 Bean 对象并将它们序列化,现在序列化(并且迭代正在运行)

最佳答案

//...

  for(var i = 0, car; car = ans.cars[i]; ++i){
      alert(car.person.age);
  }

关于javascript - 迭代 JSON 中的复杂对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4404166/

相关文章:

JavaScript onclick显示/隐藏div元素

jquery-ui - 学习 jQuery 的练习

javascript - 将超时添加到下拉菜单不起作用

javascript - 闭包编译器 --debug 解决了我的错误

javascript - 使用 lodash 在数组对象中查找并添加额外的键?

c# - 当链接器设置为“全部链接”时,JSON 反序列化失败

json - Spring MVC 和 JSON 中的安全性

javascript - 如何禁用 UI 日历中的先前日期?

javascript - RegEx 测试方法在应该为 true 时返回 false

javascript - 从 json 到 View 的 AngularJs 数据绑定(bind)