Zum Inhalt springen

Filtert Schlüssel-Wert-Paare in einem JSON-Objekt anhand einer angegebenen Bedingung, die als Lambda-Ausdruck definiert wird.

JSON_MAP_FILTER(<json_object>, (<key>, <value>) -> <condition>)

Gibt ein JSON-Objekt zurück, das nur die Schlüssel-Wert-Paare enthält, die die angegebene Bedingung erfüllen.

Dieses Beispiel extrahiert nur das Schlüssel-Wert-Paar "status": "active" aus dem JSON-Objekt und filtert die übrigen Felder heraus:

SELECT JSON_MAP_FILTER('{"status":"active", "user":"admin", "time":"2024-11-01"}'::VARIANT, (k, v) -> k = 'status') AS filtered_metadata;
┌─────────────────────┐
│ filtered_metadata │
├─────────────────────┤
│ {"status":"active"} │
└─────────────────────┘