[英]Select an array with all the values of a particular field from an array of objects in Postgres
[英]How to select field values from array of objects?
我有一个带有以下JSON的JSON列
{
"metadata": { "value": "JABC" },
"force": false,
"users": [
{ "id": "111", "comment": "abc" },
{ "id": "222", "comment": "abc" },
{ "id": "333" }
]
}
我期望查询输出["111","222", "333"]
的ID列表。 我试过以下查询,但得到空值。
select colName->'users'->>'id' ids from tableName
如何从对象数组中获取此特定字段值?
您需要将数组提取为行,然后获取id
:
select json_array_elements(colName->'users')->>'id' ids from tableName;
如果您使用的是jsonb
而不是json
,则此函数为jsonb_array_elements
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.