Swift 3 json parsing

Ich habe Probleme beim Aktualisieren meiner App, da Alamofire und SwiftyJSON Swift 3 noch nicht unterstützen. Ich habe eine URL, die mir json wie folgt zurückgibt:

{
    "products": [
        {
            "body_html":"",
            "created_at":"2016-03-02T13:56:18+03:00",
            "id":489759251,
            "handle":"product",
            "options":[
                {
                    "id":627488838,
                    "product_id":489759251,
                    "name":"Title",
                    "position":1,
                    "values":[
                        "Default Title"
                    ]
                }
            ],

        },

        {
            "body_html":"",
            "created_at":"2016-03-08T05:17:55+03:00",
            "id":530420915,
            "handle":"product-2",
            "options":[
                {
                    "id":6319359750,
                    "product_id":530420915,
                    "name":"Title",
                    "position":1,
                    "values":[
                        "Default Title"
                    ]
                }
            ],

        },
    ]
}

Ich muss in der Lage sein, diesen JSON zu analysieren und alle zurückgegebenen Produkte aufzulisten und in der Lage sein, alle spezifischen Attribute und Unteroptionen von jedem zu lesen.

Ich habe hier einige andere Fragen geprüft und mehrere Lösungen gefunden und konnte die JSON-Daten abrufen und wie oben gedruckt. Aber ich konnte es nicht analysieren.

let shopUrl = "https://\(apiKey):\(password)@\(hostname)" + "/admin/products.json"

let url = URL(string: shopUrl)
URLSession.shared.dataTask(with:url!, completionHandler: {(data, response, error) in
    if error != nil {
        print(error)
    } else {
        do {
            let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:Any]
            print(json)
        } catch let error as NSError {
            print(error)
        }
    }
}).resume()

Irgendeine Hilfe

Antworten auf die Frage(4)

Ihre Antwort auf die Frage