Skip to content

Enumeration

JSONDecoder.KeyDecodingStrategy

iOS 8.0+ iPadOS 8.0+ Mac Catalyst 8.0+ macOS 10.10+ tvOS 9.0+ watchOS 2.0+
The values that determine how to decode a type’s coding keys from JSON keys.
enum KeyDecodingStrategy

Overview

Note

Key decoding strategies other than JSONDecoder.KeyDecodingStrategy.useDefaultKeys may have a noticeable performance cost because those strategies may inspect and transform each key.

Topics

Enumeration Cases

  • case convertFromSnakeCase
    Convert from “snake_case_keys” to “camelCaseKeys” before attempting to match a key with the one specified by each type.
  • case custom(([any CodingKey]) -> any CodingKey)
    Provide a custom conversion from the key in the encoded JSON to the keys specified by the decoded types. The full path to the current decoding position is provided for context (in case you need to locate this key within the payload). The returned key is used in place of the last component in the coding path before decoding. If the result of the conversion is a duplicate key, then only one value will be present in the container for the type to decode from.
  • case useDefaultKeys
    Use the keys specified by each type. This is the default strategy.

Relationships

Conforms To

  • Swift.Sendable
  • Swift.SendableMetatype