2016-03-21 4 views

Antwort

9

verwenden:

select jsonb_object_keys(json_stuff) from table; 

(. Oder nur json_object_keys wenn Sie nur json verwenden)

Die Dokumentation PostgreSQL json ist ziemlich gut. Take a look.

Und wie es in der Dokumentation steht, bekommt die Funktion nur die äußersten Schlüssel. Wenn also die Daten eine verschachtelte JSON-Struktur sind, gibt die Funktion keine der tieferen Schlüssel zurück.

+0

Ugh, ich hatte die Dokumente überprüft, aber offensichtlich vermisst. Vielen Dank! – verygoodsoftwarenotvirus

+0

Diese Abfrage gibt Ihnen alle Schlüssel, aber wenn Sie wirklich alle möglichen Schlüssel ohne Wiederholung erhalten müssen, ist dies die Abfrage 'wählen Sie jsonb_object_keys (json_stuff) als Schlüssel aus der Tabelle Gruppe für Schlüssel;' – Cyberguille

2
WITH t(json_stuff) AS (VALUES 
    ('{"things": "stuff"}'::JSON), 
    ('{"more_things": "more_stuff"}'::JSON) 
) 
SELECT array_agg(stuff.key) result 
FROM t, json_each(t.json_stuff) stuff; 
Verwandte Themen