Eu tinha ouvido falar que no postgresql, o json
tipo preserva a ordenação declarada ao contrário de sua contraparte totalmente analisada jsonb
.
Eu quero obter a posição ordinal de cada chave em um documento fornecido pelo cliente. Pelo que eu tentei , porém, isso não parece possível.
select *
from jsonb_path_query(
'[{"foo":1},{"foo":2,"bar":3}]'::jsonb,
'$.*'::jsonpath
) with ordinality
jsonb_path_query | ordinalidade |
---|---|
1 | 1 |
3 | 2 |
2 | 3 |
A consulta anterior me mostra o valor do nó folha 3 na posição ordinal 2, apesar de ser fornecido como a terceira chave, mas não parece haver um json_path_query
companheiro para jsonb_path_query
.
Existe uma função interna para analisar json
chaves? Ou estou limitado a uma análise mais rigorosa jsonb
ou completamente irrestrita text
para extrair essas informações?