Postgres查询从json/jsonb中找到所有匹配的字段


[
{
"id": "234",
"name": "JCR",
"self": "https://jira.abc.io/jira/rest/api/2/component/234"
},
{
"id": "123",
"name": "React",
"self": "https://jira.abc.io/jira/rest/api/2/component/123"
}
]

需要字段'name'的值/查找所有与where子句匹配的名称

WITH data AS(
SELECT '[{"id": "234", "name": "JCR", "self": "https://jira.abc.io/jira/rest/api/2/component/234"}, {"id": "123", "name": "React", "self": "https://jira.abc.io/jira/rest/api/2/component/123"}]'::jsonb val
)
SELECT  el
FROM jsonb_array_elements((SELECT val FROM data)) el
WHERE el @> '{"name": "React"}';

db_fiddle