Recently upgraded to using PostgreSQL 9.3.1 to leverage the JSONfunctionalities. In my table I have a json type column that has a structure like this:
{
\
Yes, that's possible:
SELECT *
FROM tbl t, json_array_elements(t.json_col->'emails') AS elem
WHERE elem->>'id' = 123;
tbl
being your table name, json_col
being the name of the JSON column.
More details in this related answer:
More about the implicit CROSS JOIN LATERAL
in the last paragraph of this related answer:
Index to support this kind of query: