4

こんにちは Javascript/アンダースコアの達人..

プロパティの1つとしてネストされた匿名配列を持つサーバーから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 に答える