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