AnyDecodable

public struct AnyDecodable : Decodable
extension AnyDecodable: CustomStringConvertible
extension AnyDecodable: CustomDebugStringConvertible

A type-erased Decodable value.

The AnyDecodable type forwards decoding responsibilities to an underlying value, hiding its specific underlying type.

You can decode mixed-type values in dictionaries and other collections that require Decodable conformance by declaring their contained type to be AnyDecodable:

let json = “”“ { "boolean”: true, “integer”: 1, “double”: 3.14159265358979323846, “string”: “string”, “array”: [1, 2, 3], “nested”: { “a”: “alpha”, “b”: “bravo”, “c”: “charlie” } } “”“.data(using: .utf8)!

let decoder = JSONDecoder() let dictionary = try! decoder.decode([String: AnyCodable].self, from: json)

  • The wrapped value of any type.

    Declaration

    Swift

    public let value: Any
  • Creates a type-erased decodable value.

    Declaration

    Swift

    public init<T>(_ value: T?)

    Parameters

    value

    The value to wrap, or nil which becomes an empty tuple.

  • Declaration

    Swift

    public var description: String { get }
  • Declaration

    Swift

    public var debugDescription: String { get }