如何访问jsonb postgresql中的键值?
我想在data->val->cell_number中获取值,即'123'。在postgresql中是否有这样做的方法?如果这不是一个输入错误,并且您在如何访问jsonb postgresql中的键值?,postgresql,Postgresql,我想在data->val->cell_number中获取值,即'123'。在postgresql中是否有这样做的方法?如果这不是一个输入错误,并且您在val键下放置了一个字符串化的json对象,那么这将为您解开它: { "data": { "val": "{\"cell_number\": \"123\"}" } } 第一步是按下val键。该结果必须以文本(因此是
val
键下放置了一个字符串化的json对象,那么这将为您解开它:
{
"data": {
"val": "{\"cell_number\": \"123\"}"
}
}
第一步是按下
val
键。该结果必须以文本
(因此是->
)的形式返回,然后转换为jsonb
,以便可以取消对单元格编号的引用。真的是这样吗?在val
键处有一个转义的JSON对象?
with invar as (
select '{
"data": {
"val": "{\"cell_number\": \"123\"}"
}
}'::jsonb as jsonb_col
)
select ((jsonb_col->'data'->>'val')::jsonb)->>'cell_number' from invar;
?column?
----------
123
(1 row)