python - 如何检查 JSONB 中包含的字段类型?
问题描述
我希望这是一个相当简单的问题,答案很简单。
在 PostgreSQL 中,我有一个表,其中的 Answer 列是jsonb
. 截至目前,可以存储在列中的数据可以是空的,也可以是多种多样的。一些例子包括:
{"Answer":"My name is Fred"}
{"Answer":[{"text": "choice 1", "isActive": true}, {"text": "choice 2", "isActive": false}]}
Answer
是的,我们在名为的列中存储了一个名为的字段Answer
。不知道为什么,但就是这样。
我希望能够测试 JSON 属性是否Answer
包含字符串或数组。但我不知道怎么做,而且我的搜索措辞一定是错误的。我没有找到任何具体的东西。我已经知道如何检查是否Answer
存在。只是说不出它包含什么。
有谁知道我会怎么做?或者如果没有办法,我需要做什么来查询这些数据?
解决方案
条件是:
WHERE jsonb_typeof(answer->'Answer') = 'string'
推荐阅读
- html - 使用 ion-slide 时页面不会滑到下一页
- c# - Wix ServiceInstall 指定帐户
- asp.net-core - 没有正则表达式的 ASP.NET Core 2.1 中的 URL 重写
- java - Java - 将实体转换为 wsimport 对象
- angular - 最佳从 EventEmitter 事件重新进入 ngZone
- sql - 为什么 MS-SQL-Server(所有版本)将 1.0/12.0 转换为 numeric(8,6)?
- c# - HTTP Post 从数据中删除内容
- python - APScheduler 作业 ID:为什么允许作业共享 ID?
- javascript - 从网站下载由 Qt 中的 Javascript 创建的文件
- oracle - 如何在oracle中连接一个字段中的行,并查询多个表