Я пытаюсь использовать JSON.stringify()
следующую пару ключ/значение, где это значение является массивом объектов.Как JSON.stringify массив объектов
var string = JSON.stringify({onlineUsers : getUsersInRoom(users, room)});
Это неверно и выдает следующую ошибку:
var string = JSON.stringify({onlineUsers : getUsersInRoom(users, room)});
^
TypeError: Converting circular structure to 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
}
]
Добавлена функция в Добавить пользователя к массиву пользователей.
function addUser(client) {
clients.push(client);
var i = clients.indexOf(client);
if (i > -1) {
users.push({
id : i,
username : "",
room : "",
client : clients[i]
});
}
}
Добавлен захват экрана массива JavaScript, содержащий объект, а также пары ключ/значение внутри объекта.
Добавлен захват экрана массива клиентов, содержащих объекты WebSocket.
Как правильно «подкрепить» {key: arrayOfObjects[{key:value,key:{}},{},{}]}
?
Можете также добавить структуру данных о клиенте. В вашем массиве должно быть что-то, что содержит круговую ссылку. –