Przejdź do głównej zawartości

Stosuje przekształcenie do każdego klucza w obiekcie JSON za pomocą wyrażenia lambda.

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

Zwraca obiekt JSON z tymi samymi wartościami co wejściowy obiekt JSON, ale z kluczami zmodyfikowanymi zgodnie z podanym przekształceniem lambda.

Ten przykład dopisuje „_v1” do każdego klucza, tworząc nowy obiekt JSON ze zmodyfikowanymi kluczami:

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