[swift-users] Decode a JSON object of unknown format into a Dictionary with Decodable in Swift 4
    Chris Anderson 
    christopher.anderson at gmail.com
       
    Sat Jun 17 21:07:26 CDT 2017
    
    
  
Say I have a JSON object such as:
  {
    "id": "4yq6txdpfadhbaqnwp3",
    "email": "john.doe at example.com",
    "name":"John Doe",
    "metadata": {
      "link_id": "linked-id",
      "buy_count": 4
    }
  }
And with a struct of:
struct User: Codable {
  var id: String
  var email: String
  var name: String
}
How can I decode the `metadata` field into a Dictionary?
I’ve tried doing things such as, in my struct,
var metadata: Dictionary
or
var metadata: [String: Any]
But I get the error 
MyPlayground.playground:3:7: note: cannot automatically synthesize 'Encodable' because '<<error type>>' does not conform to 'Encodable'
  var metadata: Dictionary 
A meta or metadata field on many APIs (such as www.stripe.com) can contain whatever you want, and I still want to be able to process it on the Swift end. How can I store that meta data field into a Dictionary that I can parse apart manually after?
Thanks!
Chris Anderson
	
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170617/77d45201/attachment.html>
    
    
More information about the swift-users
mailing list