下划线javascript _.each循环的属性嵌套数组

时间:2013-01-17 03:53:03

标签: javascript json underscore.js

嗨Javascript /下划线大师..

假设我从服务器收到一个json对象,该对象有一个嵌套为其属性之一的匿名数组...如何在下划线_.each方法中循环遍历该数组?

这是我的json对象:

  "onlineUsers": [
    {
      "Id": "users/2",
      "Name": "Hamish",
      "LatestActivity": "2013-01-17T04:02:14.2113433Z",
      "LatestHeartbeat": "2013-01-17T04:02:14.2113433Z"
    },
    {
      "Id": "users/3",
      "Name": "Ken",
      "LatestActivity": "2013-01-17T03:45:20.066Z",
      "LatestHeartbeat": "2013-01-17T04:04:34.711Z"
    }
  ]

如何修改此功能以打印出名称?

_.each(onlineUsers, function(user){log(user.name);});

这是打印出嵌套对象的实际集合,显然是因为它们是onlineUsers的嵌套数组中的元素...如果匿名传入,不知道如何到达该数组循环...

谢谢, 麦高。

2 个答案:

答案 0 :(得分:14)

您从服务器收到的JSON是无效的JSON。该数组需要一个属性名称,例如:

onlineUsers = { names: [{name : "Joe"}, {name : "bloggs"}]}

然后你可以这样做:

_.each(onlineUsers.names, function(user){log(user.name);});

答案 1 :(得分:2)

对象内的匿名数组无效json,因此您将无法对其进行解析。

给数组命名或删除外部对象。