我正在使用一个数据库,该数据库在Postgres数据库中使用json作为数据类型,并且在尝试从json文档中提取值时遇到问题。我已经做了一些研究,并尝试了各种解决方案,包括使用
json_array_elements
response ->> 'filterEntryId'
json_populate_recordset(null::obj, table.column -> 'filterEntryId'
但尚未成功。我开始认为这是json存储在列中的方式,即它以' ['而不是' {'。
以下是json字段值的示例。
[{
"filterEntryId":373,
"length":3,
"locale":"en",
"matched":"dog",
"quality":1.0,
"root":"dog",
"severity":"mild",
"start":2,
"tags":["Vulgarity"],
"type":"blacklist"
}]
答案 0 :(得分:0)
刚想通了。我错误地使用了json_array_elements
函数。
如果有人遇到这种情况,这是查询json的正确方法
select
json_array_elements(column) ->> 'filterEntryId'
from table
基本上,您首先访问该文档,然后从中获取所需内容。我认为这必须以这种方式完成,因为' ['围绕列中的数据。
任何人都可以随意扩展我的解释。