JSON / duplicate key / parser policy

JSONの重複キーとparser差を分ける

同じオブジェクト内の重複キーを見つけ、last-wins、first-wins、reject、parser差を分けて確認します。ユーザー入力は解析せず、合成caseだけを使います。

5つの確認軸

重複キーは構文エラーとは限らず、parserの方針によって残る値が変わります。キーの検出と採用方針を分けて記録します。

duplicate key ≠ parser policy / detect → decide → verify
レビュー
detect同じobject scopeに同名キーがないか見る。
last-wins後の値で上書きされる前提を明示する。
first-wins先の値を残す実装との差を確認する。
reject重複をエラーにする方針を選べるか確認する。
nested親と子のobject scopeを混同しない。

安全な確認の順番

  1. 合成JSONで同じscopeのキーを記録する。
  2. parserの採用方針をlast/first/rejectに分ける。
  3. 異なるparserで結果が変わるか確認する。
  4. 実設定へ戻す前にレビュー票を承認する。

このページはユーザー入力や実データを解析しません。実設定の変更は確認票を承認してから既存の運用で行います。

6つの合成case

case結果
last-winsLast value wins
first-winsFirst value wins
reject-duplicateReject duplicate
parser-differenceParser difference
nested-duplicateNested scope
unsupported-user-jsonReject