Mon application contient un grand nombre d'objets, que je mets en chaîne et que je sauvegarde sur le disque. Malheureusement, lorsque les objets du tableau sont manipulés, et parfois remplacés, les propriétés des objets sont listées dans des ordres différents (leur ordre de création ?). Lorsque je fais JSON.stringify() sur le tableau et que je l'enregistre, un diff montre que les propriétés sont listées dans des ordres différents, ce qui est gênant lorsque l'on essaie de fusionner les données avec des outils de diff et de fusion.
Idéalement, j'aimerais trier les propriétés des objets par ordre alphabétique avant d'effectuer le stringify, ou dans le cadre de l'opération de stringify. Il existe du code pour manipuler les objets du tableau à de nombreux endroits, et il serait difficile de le modifier pour toujours créer les propriétés dans un ordre explicite.
Les suggestions sont les bienvenues !
Un exemple condensé :
obj = {}; obj.name="X"; obj.os="linux";
JSON.stringify(obj);
obj = {}; obj.os="linux"; obj.name="X";
JSON.stringify(obj);
Les résultats de ces deux appels stringify sont différents, et apparaissent dans un diff de mes données, mais mon application ne se soucie pas de l'ordre des propriétés. Les objets sont construits de plusieurs façons et à plusieurs endroits.