下划线javascript\嵌套数组属性的每个循环
大家好,Javascript/下划线大师 假设我从服务器接收到一个json对象,其中一个匿名数组嵌套为其属性之一。。。如何在下划线中循环遍历该数组?每个方法 这是我的json对象:下划线javascript\嵌套数组属性的每个循环,javascript,json,underscore.js,Javascript,Json,Underscore.js,大家好,Javascript/下划线大师 假设我从服务器接收到一个json对象,其中一个匿名数组嵌套为其属性之一。。。如何在下划线中循环遍历该数组?每个方法 这是我的json对象: "onlineUsers": [ { "Id": "users/2", "Name": "Hamish", "LatestActivity": "2013-01-17T04:02:14.2113433Z", "LatestHeartbeat": "2013-
"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嵌套数组中的元素。。。不知道如果匿名传入该数组,如何到达该数组进行循环
谢谢,
Hamish。对象中的匿名数组不是有效的json,因此您无法解析它
为数组命名或删除外部对象。从服务器接收的JSON是无效的JSON。数组需要属性名,例如:
onlineUsers = { names: [{name : "Joe"}, {name : "bloggs"}]}
然后你可以这样做:
_.each(onlineUsers.names, function(user){log(user.name);});
删除外部的
{}
应该使其成为有效的JSON。至少,内部对象应该是{name:'Joe'},{name:'bloggs'}。这本身就使得它成为无效对象并抛出JS错误。