Pular para o conteúdo

Aplica uma transformação a cada chave de um objeto JSON através de uma expressão lambda.

JSON_MAP_TRANSFORM_KEYS(<json_object>, (<key>, <value>) -> <key_transformation>)

Devolve um objeto JSON com os mesmos valores do objeto JSON de entrada, mas com as chaves modificadas de acordo com a transformação lambda especificada.

Este exemplo acrescenta “_v1” a cada chave, criando um novo objeto JSON com as chaves modificadas:

SELECT JSON_MAP_TRANSFORM_KEYS('{"name":"John", "role":"admin"}'::VARIANT, (k, v) -> CONCAT(k, '_v1')) AS versioned_metadata;
┌──────────────────────────────────────┐
│ versioned_metadata │
├──────────────────────────────────────┤
│ {"name_v1":"John","role_v1":"admin"} │
└──────────────────────────────────────┘