Are you looking for a general purpose JSON interpreter / API ?
There are many of them around, and in fact I do have my own:
https://github.com/Balancingrock/VJson
With VJson I would write:
let json = VJson.parse(… your json object…)
and then access the metadata as:
let buyCount = (json | ”metadata” | ”buy_count”)?.intValue
or:
var buyCount: Int &= json | “metadata” | “buy_count”
To loop over the content of metadata:
for item in (json | “metadata”) ?? [ ] {
print (item.nameValue)
switch item.type {
case .object: …
case .number: …
case .string: …
etc...
}
}
Obviously I am plugging my own code here, but there are many others around, I
understand that SwiftyJSON is quite popular but I have not used that myself.
Regards,
Rien
Site: http://balancingrock.nl
Blog: http://swiftrien.blogspot.com
Github: http://github.com/Balancingrock
Project: http://swiftfire.nl - An HTTP(S) web server framework in Swift
> On 18 Jun 2017, at 04:07, Chris Anderson via swift-users
> <[email protected]> wrote:
>
> Say I have a JSON object such as:
>
> {
> "id": "4yq6txdpfadhbaqnwp3",
> "email": "[email protected]",
> "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
>
>
>
>
>
> _______________________________________________
> swift-users mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-users
_______________________________________________
swift-users mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-users