Сначала вы можете разложить JSON с помощью json_each()
, дав вам одну пару ключ и значение на строку.Используйте CASE
для замены false
на true
.Затем создайте JSON с использованием конкатенации строк и string_agg()
и приведите его обратно к json
.
UPDATE json
SET json = (SELECT ('{'
|| string_agg('"'
|| key
|| '": '
|| CASE
WHEN value::text = 'false' THEN
'true'
ELSE
value::text
END,
', ')
|| '}')::json
FROM json_each(json));
db <> fiddle
Или используйте jsonb
варианты, если тип на самом деле jsonb
, а не json
.