Мое приложение имеет большой массив объектов, которые я преобразую в строку и сохраняю их на диск. К сожалению, когда объекты в массиве обрабатываются, а иногда и заменяются, свойства объектов перечисляются в разных порядках (порядок их создания?). Когда я выполняю JSON.stringify() для массива и сохраняю его, diff показывает свойства, перечисленные в разных порядках, что раздражает при попытке дальнейшего объединения данных с помощью инструментов сравнения и слияния.
В идеале я хотел бы отсортировать свойства объектов в алфавитном порядке перед выполнением stringify или как часть операции stringify. Существует код для манипулирования объектами массива во многих местах, и изменить их так, чтобы всегда создавать свойства в явном порядке, было бы сложно.
Предложения будут приветствоваться!
Сокращенный пример:
obj = {}; obj.name="X"; obj.os="linux";
JSON.stringify(obj);
obj = {}; obj.os="linux"; obj.name="X";
JSON.stringify(obj);
Вывод этих двух вызовов stringify различен и отображается в разных моих данных, но мое приложение не заботится о порядке следования свойств. Объекты строятся разными способами и местами.