0

私は次のようなオブジェクトの配列を持っています:

[{}, {}, {}]

この配列をSocket.io経由で渡す必要があります。Socket.ioは配列をJSONに変換し、循環構造をJSONエラーに変換し続けます。

これが私の現在のコードです:

for (var i = 0; i < 5; i++) {
    num = randRange(0, cards[type].length);
    playerCards.push(cards[type][num]);
}
socket.emit('updateCards', playerCards);

誰かがこれを回避する方法を知っていますか?

ありがとう

4

1 に答える 1

0

以下を実行しようとすると、同じエラーが表示されます。

for (var i = 0; i < 5; i++) {

    num = randRange(0, cards[type].length);
    playerCards.push(cards[type][num]);
    JSON.stringify(cards[type][num]) 
}

//socket.emit('updateCards', playerCards);

タグ属性が原因である可能性があります。JSON シリアライザーが機能するためには、シリアライズされるオブジェクトに循環参照を含めることはできません。1 つのオプションは、タグ オブジェクトから必要な情報を引き出し、代わりにカスタム オブジェクトを作成することです。

于 2012-12-20T22:47:17.313 に答える