如何转换此表单的
Postgresql存储的json
{"Kategorie": [{"ID": "environment", "ID": "economy"}]}
得到[“环境”,“经济”]只使用Postgresqls json风格的语法.存储源中的数组有两个元素,但可能包含更多(或只有一个)元素.结果数组应该产生所有值元素.
最佳答案 这可能会给你一些工作:
SELECT ARRAY(select json_extract_path_text(x, 'ID') from
json_array_elements(
'{"Kategorie": [{"ID": "environment"}, {"ID": "economy"}]}'::json->'Kategorie')
as x)
结果是一个文本数组:
{环境,经济}
完全有可能有一个更清洁的方法来做到这一点:)
JSON operators documentation有详细信息. (这只是9.3,9.2只有很少的实用功能.)