我在postgres的json数据类型列中存储了很多json文件。现在,在很多地方都可以应用关键的“警告”。不幸的是,我无法获得json模式,因此我无法提前知道确切的所有警告键可以显示在哪里。所以我想做这样的事情:
select report #> '{*,warning}' from foo;
路径中是否存在通配符?还是动态遍历json值的唯一方法是在pl / sql函数中逐个递归地说出一个键? (甚至可能将一组游标作为一个大游标返回)。
编辑: 有趣的是,好的旧xml数据类型可以完全满足我的需求。所以我有些困惑,为什么我们不能对json文档执行相同的操作,如:
select xmlexists('//town[text() = ''Toronto'']' PASSING BY REF '<root><oldtowns><town>Toronto</town><town>Ottawa</town></oldtowns><newtowns><town>Toronto</town><town>Ottawa</town></newtowns></root>');
select * from xmltable('//town' PASSING by ref '<root><oldtowns><town>Toronto</town><town>Ottawa</town></oldtowns><newtowns><town>Toronto</town><town>Ottawa</town></newtowns></root>' columns town varchar path 'text()')