JSON / duplicate key / parser policy
Separate JSON duplicate keys and parser differences
Find duplicate keys, then separate last-wins, first-wins, rejection and parser differences. User input is never parsed; use synthetic cases only.
JSON / duplicate key / parser policy
Find duplicate keys, then separate last-wins, first-wins, rejection and parser differences. User input is never parsed; use synthetic cases only.
A duplicate key is not always rejected. Parser policy can change which value remains, so record detection separately from the selected policy.
duplicate key ≠ parser policy / detect → decide → verify| Axis | Review |
|---|---|
| detect | Look for same-name keys in one object scope. |
| last-wins | Make an overwrite-by-later-value assumption explicit. |
| first-wins | Check differences from implementations keeping the first value. |
| reject | Check whether duplicate keys can be rejected. |
| nested | Keep parent and child object scopes separate. |
This page never parses user input or real data. Change real settings only through the existing process after note approval.
| case | result |
|---|---|
last-wins | Last value wins |
first-wins | First value wins |
reject-duplicate | Reject duplicate |
parser-difference | Parser difference |
nested-duplicate | Nested scope |
unsupported-user-json | Reject |