Aller au contenu

Applique une transformation à chaque clé d’un objet JSON à l’aide d’une expression lambda.

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

Renvoie un objet JSON ayant les mêmes valeurs que l’objet JSON en entrée, mais dont les clés sont modifiées selon la transformation lambda spécifiée.

Cet exemple ajoute « _v1 » à chaque clé, ce qui crée un nouvel objet JSON dont les clés sont modifiées :

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"} │
└──────────────────────────────────────┘