簡體   English   中英

Postgres 用未知的鍵擴展 JSON

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM