Я пишу функцию для нового postgreSQL db, и я пытаюсь перекрыть вложенную структуру.How-to loop over JSON Arrays в postgresql 9.3
Возможно ли это с помощью новых функций JSON? Что я пытаюсь сделать здесь ниже:
DO
$BODY$
DECLARE
omgjson json := '[{ "type": false }, { "type": "photo" }, {"type": "comment" }]';
i record;
BEGIN
FOR i IN SELECT * FROM json_array_elements(omgjson)
LOOP
RAISE NOTICE 'output from space %', i;
END LOOP;
END;
$BODY$ language plpgsql
Это возвращает набор записей (! Текст), то есть не JSON! поэтому я не могу запросить его как i->>'type'
, но это именно то, что я хочу сделать ...
В более поздней версии postgresql вы можете использовать jsonb_array_elements –