Skip to content

Repository files navigation

CocoaPodsCocoaPodsPod LicenseBuild Status

AnyCodable or DynamicCodable 😝

This library to facilitate decode and encode [String: Any], [Any]

Requirements

  • iOS 8.0 or later
  • Xcode 10.0 or later

Installation

There is a way to use AnyCodable in your project:

  • using CocoaPods

Installation with CocoaPods

pod 'DynamicCodable', '1.0'

Build Project

At this point your workspace should build without error. If you are having problem, post to the Issue and the community can help you solve it.

How To Use

import DynamicCodable
structYourObject:Codable{vardict:[String:Any]vararray:[Any]varoptionalDict:[String:Any]?varoptionalArray:[Any]?enumCodingKeys:String,CodingKey{case dict
case array
case optionalDict
case optionalArray
}init(from decoder:Decoder)throws{letvalues=try decoder.container(keyedBy:CodingKeys.self)
dict =try values.decode([String:Any].self, forKey:.dict)
array =try values.decode([Any].self, forKey:.array)
optionalDict =try values.decodeIfPresent([String:Any].self, forKey:.optionalDict)
optionalArray =try values.decodeIfPresent([Any].self, forKey:.optionalArray)}func encode(to encoder:Encoder)throws{varcontainer= encoder.container(keyedBy:CodingKeys.self)try container.encode(dict, forKey:.dict)try container.encode(array, forKey:.array)try container.encodeIfPresent(optionalDict, forKey:.optionalDict)try container.encodeIfPresent(optionalArray, forKey:.optionalArray)}}

Author

Communication

  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Licenses

All source code is licensed under the MIT License.

About

Decode [String: Any] for Codable

Topics

Resources

Stars

82 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages