我正在尝试BuildConfig.KEY_MY_PROP
以下键/值对,其中值是一个对象数组。
JSON.stringify()
这是不正确的并且出现以下错误:
var string = JSON.stringify({onlineUsers:getUsersInRoom(users,room)});
var string = JSON.stringify({onlineUsers : getUsersInRoom(users, room)});
TypeError:将循环结构转换为JSON
这是方法:
^
添加了function getUsersInRoom(users, room) {
var json = [];
for (var i = 0; i < users.length; i++) {
if (users[i].room === room) {
json.push(users[i]);
}
}
return json;
}
数据结构:
users
添加了将用户添加到用户数组的功能。
[
{
id:1,
username:"",
room:"room 1",
client: {
sessionId:1,
key:value
}
},
{
// etc
}
]
添加了包含对象的JavaScript数组的屏幕截图以及对象内的键/值对。
添加了包含WebSocket对象的clients数组的截屏。
如何正确“字符串化”function addUser(client) {
clients.push(client);
var i = clients.indexOf(client);
if (i > -1) {
users.push({
id : i,
username : "",
room : "",
client : clients[i]
});
}
}
?
答案 0 :(得分:3)
var data = { };
data.onlineUsers = getUsersInRoom();
var string = JSON.stringify(data);
这对你有用吗?
修改强>
我刚注意到您的错误是循环类型,您的用户或房间对象可能正在创建循环引用。
用户&gt;房间&gt;用户&gt;房间等...