Ok, thanks.
Le jeu. 20 avr. 2023 à 22:42, Tom Lane <tgl@xxxxxxxxxxxxx> a écrit :
Marc Millas <marc.millas@xxxxxxxxxx> writes:
> but it doesnt explain how postgres is able to put a scalar in a json or
> jsonb column without pb:
> I don't understand how this ('"{\"t\"}"') can be considered a valid enough
> json to be inserted in a json column
> and at the same time invalid for all other json uses.
That's a bare string (it's not an object). That's valid JSON per
RFC 7159:
JSON can represent four primitive types (strings, numbers, booleans,
and null) and two structured types (objects and arrays).
...
A JSON text is a serialized value. Note that certain previous
specifications of JSON constrained a JSON text to be an object or an
array.
However, there certainly are some operations that require the top-level
value to be an object or array.
regards, tom lane