繁体   English   中英

如何从对象数组中选择字段值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM