查询深层 JSONb 信息 - PostgreSQL

布莱恩特·杰克逊

我将以下 JSON 数组存储在一行中:

{
    "openings": [
         {
             "visibleFormData": {
                 "productName": "test"
             }
         }
    ]
}

我正在尝试获取productName. 到目前为止,我已经尝试过这样的事情:

SELECT tbl.column->'openings'->'0'->'visibleFormData'->>'productName'

理论是这将获取openings数组中的第一个对象(索引 0),然后productName从该对象的visibleFormData对象中获取属性

不过,我得到的只是空值。我已经尝试了多种配置。我认为这与抓取索引零有关,但我不确定。我不是一个普通的 PSQL 用户,所以调试起来有点棘手。

克林

json 数组索引是integer,所以使用0而不是'0'

with tbl(col) as (
values
    ('{
        "openings": [
             {
                 "visibleFormData": {
                     "productName": "test"
                 }
             }
        ]
    }'::jsonb)
)

SELECT tbl.col->'openings'->0->'visibleFormData'->>'productName'
FROM tbl

 ?column? 
----------
 test
(1 row) 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章