From: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
---|---|
To: | Alex Magnum <magnum11200(at)gmail(dot)com> |
Cc: | Postgres General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Extract data from JSONB |
Date: | 2016-08-08 03:23:38 |
Message-ID: | CAB7nPqSO=GuLOnc9VZkaq1-aRDAtEAom3DGVFL9UMKr6HwfBDg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mon, Aug 8, 2016 at 12:08 PM, Alex Magnum <magnum11200(at)gmail(dot)com> wrote:
> How can I convert that into one row each based on status; for example if I
> only want to have the active modules.
You can use jsonb_each to decompose that:
=# select key, (value::json)->'status' from jsonb_each('{
"accounts":
{"status": true},
"admin": {"status": true},
"calendar": {"status": false},
"chat": {"status": true},
"contacts": {"status": true},
"dashboard": {"status": false},
"help": {"status": true}}'::jsonb);
key | ?column?
-----------+----------
chat | true
help | true
admin | true
accounts | true
calendar | false
contacts | true
dashboard | false
(7 rows)
--
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Charles Clavadetscher | 2016-08-08 04:54:44 | Re: Extract data from JSONB |
Previous Message | Alex Magnum | 2016-08-08 03:08:08 | Extract data from JSONB |