sql - 从 JSON postgres 数组中获取元素
问题描述
我有一个数据类型为 x 的列jsonb
值如下:
[
[{"string":"whateverstring1"}],
[{"string":"whateverstring2"}]
]
如何返回数组的每个元素?
像这样的东西:“ whateverstring1 ”,“ whateverstring2 ”
解决方案
SELECT jsonb_array_elements(jsonb) -> 0 -> 'string'
FROM (
SELECT '[[{"string":"whateverstring1"}],[{"string":"whateverstring2"}]]'::jsonb
) s
jsonb_array_elements
将每个元素提取到一行中-> 0
给出嵌套数组的第一个元素,即{"string":"whateverstring1"}
-> 'string'
给出元素的值
推荐阅读
- swift - GIDSignIn.sharedInstance : sharedInstance 不是函数?
- java - 权限不足:请求的身份验证范围不足。谷歌云端硬盘
- angular - 在 Visual Studio 2019 项目中更新 Angular 版本
- python - 尽管密钥存在,但由于密钥错误而不会生成 Wordcloud
- flutter - 我在设备资源管理器中找不到数据库
- python - OPCUA 服务器没有收到主机/端口/sock 来启动
- r - 错误:“unmarkedFitOccu”类的这个对象没有名为“occ_df”的插槽
- postgresql - 确定哪个服务侦听通知但不使用它们
- c# - 如何根据 ForeignKeyConstraint 处理删除触发的异常?
- python - 异步搜索方法 Python Ldap3