4

嗨 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 嵌套数组中的元素......如果匿名传入,不确定如何进入该数组进行循环......

谢谢,哈米什。

4

2 回答 2

14

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

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

然后你可以这样做:

_.each(onlineUsers.names, function(user){log(user.name);});
于 2013-01-17T03:58:40.223 回答
2

对象内的匿名数组不是有效的 json,因此您将无法解析它。

要么给数组一个名字,要么移除外部对象。

于 2013-01-17T03:55:53.410 回答