JSON

JSONB_OBJECT_KEYS

PostgreSQLPostgreSQL

Mengembalikan semua keys (nama property) dari JSON object sebagai set of text. Berguna untuk introspeksi struktur JSON dinamis.

Tipe hasil: setof text

Syntax

SQL
JSONB_OBJECT_KEYS(jsonb_object)

Parameter

jsonb_objectjsonbwajib

JSON object yang akan diekstrak key-nya

Contoh Penggunaan

List Semua Keys

SQL
1SELECT JSONB_OBJECT_KEYS({"name": "John", "age": 30, "city": "Jakarta"}::jsonb);

Mengembalikan semua key dari object.

Hasil
jsonb_object_keys
name
age
city

Cek Keberadaan Key

SQL
1SELECT EXISTS (
2 SELECT 1
3 FROM JSONB_OBJECT_KEYS(data) AS k
4 WHERE k = email
5) AS has_email
6FROM users;

Mengecek apakah key tertentu ada dalam JSON.

Hasil
has_email
true

Analisis Schema JSON

SQL
1SELECT
2 key,
3 COUNT(*) AS occurrences
4FROM
5 documents,
6 JSONB_OBJECT_KEYS(metadata) AS key
7GROUP BY key
8ORDER BY occurrences DESC;

Menganalisis key apa saja yang ada dalam kolom JSON.