再帰的に並べ替え
入れ子オブジェクトのキーも名前順になります。深い設定を一度に処理でき、階層ごとに手作業で整える必要はありません。
並べ替えはキー名の辞書順で、言語やツールをまたいでも安定した出力になりやすいです。
次の方法でも #data={"name":"Ada"} または #url=... データを流し込めます。読み取り後はアドレスバーから削除されます。
フィールド名でオブジェクトの Key を並べ替え、2回のエクスポートを比較しやすくします。多くのシリアライズ実装は Key 順を保証しないので、並べ替えてから Diff するとかなり静かになります。並べ替え結果を Git に入れると、無意味なキー順の揺れも減ります。
入れ子オブジェクトのキーも名前順になります。深い設定を一度に処理でき、階層ごとに手作業で整える必要はありません。
並べ替えはキー名の辞書順で、言語やツールをまたいでも安定した出力になりやすいです。
リスト順には業務上の意味があることが多いので、既定では元の順を保ちます。タイムライン、手順、ランキングなどの配列は値では並べ替えません。
オブジェクトキーだけ正規化し、リストは触りたくないときは、フォーマット画面でついでにオンにするよりこのページの方が明確です。
先に並べ替えてから比較すると、「実はキー順だけ違う」ノイズを減らせます。両側を並べ替えてから Diff ページへ貼ってください。
フォーマットページにも「Key を並べ替え」があり効果は似ています。このページはその作業専用です。
{
"z": 1,
"a": { "n": 2, "m": 1 },
"m": 3
}
{
"a": {
"m": 1,
"n": 2
},
"m": 3,
"z": 1
}
オブジェクトのキーは名前順です。文字列値は並べ替えません。
同じ入力を何度並べ替えてもキー順は同じになる想定で、Git に入れやすいです。
配列要素は並べ替えません。オブジェクトのキーだけが対象です。
JavaScript 既定の文字列比較です。日本語と英数字が混在すると、読みの習慣と完全には一致しないことがあります。チーム内で揃えれば十分です。
並べ替えは「オブジェクトキーの正規化」専用で、汎用のデータ洗浄ではありません。空値削除とマスキングはクリーンアップページを使ってください。