Pular para o conteúdo

Filtra pares chave-valor de um objeto JSON com base numa condição especificada, definida através de uma expressão lambda.

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

Devolve um objeto JSON apenas com os pares chave-valor que satisfazem a condição especificada.

Este exemplo extrai apenas o par chave-valor "status": "active" do objeto JSON, filtrando os restantes campos:

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