En essayant d'enregistrer des données sur le monde du jeu dans un fichier en utilisant JSON, je reçois cette bonne erreur de référence circulaire JSON. Y a-t-il un moyen de sauvegarder les types de données circulaires? Aussi, je cours ceci avec node.js, pas dans un navigateur.Puis-je en quelque sorte enregistrer des structures de données circulaires avec JSON ou quelque chose de similaire?
Fondamentalement, au fil du temps, le joueur obtient des unités. Ces unités sont sauvegardées dans une liste à l'intérieur de l'objet joueur, mais le joueur lui-même est considéré comme un argument, afin qu'il sache qui en est le propriétaire. Quelque chose comme ceci:
Player = function()
{
this.power = 0
this.units = [new Unit(this)];
}
Unit = function(owner)
{
owner.power++;
}
Vous ne pouvez pas sérialiser une référence circulaire, pouvez-vous référencer un identifiant à la place? – Joe
Il existe des bibliothèques de sérialisation qui résolvent ce problème pour vous: https://github.com/douglascrockford/JSON-js – davin
duplication possible de [Javascript: Comment enregistrer un objet avec des références circulaires?] (Http://stackoverflow.com/questions/7420597/javascript-comment-enregistrer-un-objet-avec-des-références-circulaires) – davin