Need help with DictionaryCoding?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

133 Stars 35 Forks Other 75 Commits 13 Opened issues


Swift Decoder/Encoder which converts to/from dictionaries.

Services available


Need anything else?

Contributors list

Test results Latest release Swift 5.0 Platforms: iOS, macOS, tvOS, watchOS, Linux


This is an implementation of Swift's Encoder/Decoder protocols which uses

as its underlying container mechanism.

It allows you to take a native swift class or struct that confirms to the Codable protocol and convert it to, or initialise it from, a dictionary.

A lot of the code is actually taken from the Swift Foundation library's own


It turns out that those class actually work by using

as an intermediate step between JSON and the native type to be encoded/decoded. Unfortunately the underlying
support isn't exposed by Foundation, which is why I've done so here.

See this blog post for a bit more detail!

Build Instructions

At the moment this module is best built using the Swift Package Manager with

swift build

The unit tests can be run with

swift test

An Xcode project can be generated with

swift package generate-xcodeproj  --xcconfig-overrides DictionaryCoding.xcconfig

A CocoaPods

file is included. I don't use CocoaPods myself though, so I can't be entirely sure that I haven't broken something (or forgotten to update something).

Please file issues (or even better, pull requests) for support for other build systems.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.