我得到了以下jsonb,我想在其中从键中检索值:type、atus和id。我试了以下几种方法,但不成功?不知道哪里出了问题。有谁能帮我吗?提前Tnx!
with raw_data(col) as
(
select '{
"tools": [
{
"type": "toolA",
"links": {
"get": {
"url": "/toolAget",
"method": "GET"
},
"post": {
"url": "/toolAPost",
"method": "POST"
}
},
"status": "ACTIVE",
"id": "7891000"
},
{
"type": "toolB",
"links": {
"get": {
"url": "/toolBget",
"method": "GET"
},
"post": {
"url": "/toolBPost",
"method": "POST"
}
},
"status": "INACTIVE",
"id": "123456"
}
]
}'::jsonb
)
select
col -> 'tools' -> 'type',
col -> 'tools' -> 'status',
col -> 'tools' -> 'id'
from raw_data;
1条答案
按热度按时间gajydyqb1#
使用
jsonb_extract_path
获取tools
阵列,然后使用jsonb_to_recordset
获取id
、type
和status
值。