我听说 在postgresql 中,与完全解析的对应类型不同,该json
类型保留了声明的顺序jsonb
。
我想获取客户端提供的文档中每个键的序号位置。从我尝试过的情况来看,这似乎是不可能的。
select *
from jsonb_path_query(
'[{"foo":1},{"foo":2,"bar":3}]'::jsonb,
'$.*'::jsonpath
) with ordinality
jsonb_path_query | 序数 |
---|---|
1 | 1 |
3 | 2 |
2 | 3 |
前面的查询向我显示了位于序号位置 2 的叶节点值 3,尽管它是作为第三个键提供的,但似乎json_path_query
没有jsonb_path_query
.
json
是否有解析键的内置函数?或者我是否仅限于更严格jsonb
或完全不受约束text
的解析来提取这些信息?