Skip to content

tesseract-one/Serializable.swift

Repository files navigation

Serializable

🐧 linux: ready GitHub license Build Status GitHub release CocoaPods version Platform OS X | iOS | tvOS | watchOS | Linux

Dynamic value for Swift Codable

Goals

This library allows encoding and decoding of dynamic data structures via Swift Codable.

Supported types

  • Dictionary
  • Array
  • Bool
  • Float(Double)
  • Int
  • String
  • null

Additional types

Date and Data can be converted in runtime from the String type.

Getting started

Installation

Add the following dependency to your Package.swift:

.package(url: "https://github.com/tesseract-one/Serializable.swift.git", from: "0.3.0")

Run swift build and build your app.

Add the following to your Podfile:

pod 'Serializable.swift' '~> 0.3'

Then run pod install.

Manually

  1. Download and drop Sources/Serializable folder in your project.
  2. Congratulations!

Examples

JSON parsing

import Foundation
import Serializable

let json = """
{
  "message": "Hello, World!"
}
""".data(using: .utf8)!

let value = try! JSONDecoder().decode(AnyValue.self, from: json)

print("Message:", value["message"]!.string!)

Author

License

Serializable.swift is available under the Apache 2.0 license. See the LICENSE file for more information.