I’ve sent a docs patch to pgsql-docs in the
“Ambiguity in IS JSON description and logic” thread.
The patch clarifies that the WITH/WITHOUT UNIQUE KEYS clause for IS JSON
controls an additional test for duplicate object keys, that WITH UNIQUE KEYS
enforces this constraint recursively, and that WITHOUT UNIQUE KEYS (the default)
disables this additional test rather than requiring duplicates to be present.