Re: Extract data from JSONB - Mailing list pgsql-general

From Michael Paquier
Subject Re: Extract data from JSONB
Date
Msg-id CAB7nPqSO=GuLOnc9VZkaq1-aRDAtEAom3DGVFL9UMKr6HwfBDg@mail.gmail.com
Whole thread Raw
In response to Extract data from JSONB  (Alex Magnum <magnum11200@gmail.com>)
Responses Re: Extract data from JSONB  ("Charles Clavadetscher" <clavadetscher@swisspug.org>)
List pgsql-general
On Mon, Aug 8, 2016 at 12:08 PM, Alex Magnum <magnum11200@gmail.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


pgsql-general by date:

Previous
From: Alex Magnum
Date:
Subject: Extract data from JSONB
Next
From: "Charles Clavadetscher"
Date:
Subject: Re: Extract data from JSONB