AnyEncodable

public struct AnyEncodable : Encodable
extension AnyEncodable: Equatable
extension AnyEncodable: CustomStringConvertible
extension AnyEncodable: CustomDebugStringConvertible
extension AnyEncodable: ExpressibleByNilLiteral
extension AnyEncodable: ExpressibleByBooleanLiteral
extension AnyEncodable: ExpressibleByIntegerLiteral
extension AnyEncodable: ExpressibleByFloatLiteral
extension AnyEncodable: ExpressibleByStringLiteral
extension AnyEncodable: ExpressibleByArrayLiteral
extension AnyEncodable: ExpressibleByDictionaryLiteral

A type-erased Encodable value.

The AnyEncodable type forwards encoding responsibilities to an underlying value, hiding its specific underlying type.

You can encode mixed-type values in dictionaries and other collections that require Encodable conformance by declaring their contained type to be AnyEncodable:

let dictionary: [String: AnyEncodable] = [
    "boolean": true,
    "integer": 1,
    "double": 3.14159265358979323846,
    "string": "string",
    "array": [1, 2, 3],
    "nested": [
        "a": "alpha",
        "b": "bravo",
        "c": "charlie"
    ]
]

let encoder = JSONEncoder()
let json = try! encoder.encode(dictionary)

Source: https://github.com/Flight-School/AnyCodable

Encodable

  • Declaration

    Swift

    public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool
  • Declaration

    Swift

    public var description: String { get }
  • Declaration

    Swift

    public var debugDescription: String { get }