我有一组像这样的对象:
[{}, {}, {}]
我需要通过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);
有没有人知道解决这个问题?
由于
答案 0 :(得分: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序列化器工作,您不能在被序列化的对象中有任何循环引用。一种选择是从标记对象中提取所需的信息并改为创建自定义对象。