私のアプリケーションには多数のオブジェクトがあり、それらを文字列化してディスクに保存しています。残念ながら、配列内のオブジェクトが操作され、場合によっては置き換えられると、オブジェクトのプロパティは異なる順序 (作成順序?) でリストされます。配列で JSON.stringify() を実行して保存すると、プロパティが異なる順序でリストされていることが差分に表示されます。これは、差分およびマージ ツールを使用してデータをさらにマージしようとするときに面倒です。
理想的には、文字列化を実行する前に、または文字列化操作の一部として、オブジェクトのプロパティをアルファベット順にソートしたいと考えています。多くの場所で配列オブジェクトを操作するためのコードがあり、これらを変更して常に明示的な順序でプロパティを作成するのは困難です。
提案は大歓迎です!
凝縮された例:
obj = {}; obj.name="X"; obj.os="linux";
JSON.stringify(obj);
obj = {}; obj.os="linux"; obj.name="X";
JSON.stringify(obj);
これら 2 つの stringify 呼び出しの出力は異なり、データの差分に表示されますが、アプリケーションはプロパティの順序を気にしません。オブジェクトは、さまざまな方法と場所で構築されます。