Arrays JSON编码对象数组

Arrays JSON编码对象数组,arrays,json,object,socket.io,Arrays,Json,Object,Socket.io,我有一个这样的对象数组: [{}, {}, {}] 我需要通过Socket.io传递这个数组。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);

我有一个这样的对象数组:

[{}, {}, {}]
我需要通过Socket.io传递这个数组。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);
for(变量i=0;i<5;i++){
num=随机范围(0,卡片[类型].长度);
扑克牌。推(牌[类型][num]);
}
emit('updateCards',playerCards);
有人知道怎么解决这个问题吗


谢谢

如果您尝试执行以下操作,您将看到相同的错误:

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);
for(变量i=0;i<5;i++){
num=随机范围(0,卡片[类型].长度);
扑克牌。推(牌[类型][num]);
stringify(cards[type][num])
}
//emit('updateCards',playerCards);

标签属性很可能是罪魁祸首。为了让JSON序列化程序正常工作,在被序列化的对象中不能有任何循环引用。一个选项是从标记对象中提取所需的信息,并创建一个自定义对象。

数据将是
{id:int,name:string,tag:object}
这些对象是多维的,包含其他对象