[英]Postgres expand JSON with unkown keys
我想在我的表中展開一個特定的行,它有一個具有以下結構的 json 列:
id|column1 |
---|-------------|
id1|{nested json}|
id2|{nested json}|
嵌套的 JSON 結構如下:
{"random_key_1":{"
known_key_1":"value",
"known_key_2":"value"
},
"random_key_2":{"
known_key_1":"value",
"known_key_2":"value"
},
...
我想將單行擴展為以下格式:
my_column_name |known_key_1 |known_key2|
---------------|-----------|----------|
random_key_1 | value | values |
random_key_2 | value | values |
您可以使用內置的json_each方法將最外層的 JSON 擴展為行,而無需知道鍵是什么。 從那時起,您可以直接構建已知列。
SELECT col1.key AS my_column_name,
col1.value->>'known_key_1' AS known_key_1,
col1.value->>'known_key_2' AS known_key_2
FROM main_table, json_each(column1) col1;
my_column_name | known_key_1 | known_key_2
----------------+-------------+-------------
random_key_1 | value1 | value2
random_key_2 | value3 | value4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.