crause |
---|
для читабельности кода в дальнейшем. |
читаблядство субъективный критерий. Разыменование объекта при дальнейшей модификации исходного json потребует копирования изменений по декларациям и переприсваиваниям переменных и может привести к труднодиагностируемым ошибкам.
do language plpgsql $anon$
declare
j jsonb := '{"a":"xxx", "b":123}'::jsonb;
a text;
b integer;
begin
--синтаксически без селекта
a := j->>'a';
b := j->'b';
raise notice 'a=% b=%', a, b;
--одним селектом
select * into a, b
from jsonb_to_record(j) as t (a text, b integer);
raise notice 'a=% b=%', a, b;
end;
$anon$
ЗАМЕЧАНИЕ: a=xxx b=123
ЗАМЕЧАНИЕ: a=xxx b=123