Как преобразовать строку в JSON, чтобы я мог разобрать ее на объекты

У меня есть строка, которая выглядит как JSON, и мне нужно превратить ее в объекты. Строка

[{"name":"Samuro","title":"The Blademaster","role":{"name":"Assassin","slug":"assassin"},"type":{"name":"Melee","slug":"melee"},"stats":{"damage":0,"utility":0,"survivability":0,"complexity":0},"slug":"samuro","franchise":"warcraft","analyticsName":"Samuro","trait":{},"skins":[],"abilities":[],"heroicAbilities":[],"revealed":true,"inFreeHeroRotation":false,"freeRotationMinLevel":0},{"name":"Zarya","title":"Defender of Russia","role":{"name":"Warrior","slug":"warrior"},"type":{"name":"Ranged","slug":"ranged"},"stats":{"damage":0,"utility":0,"survivability":0,"complexity":0},"slug":"zarya","franchise":"overwatch","analyticsName":"Zarya","trait":{},"skins":[],"abilities":[],"heroicAbilities":[],"revealed":true,"inFreeHeroRotation":false,"freeRotationMinLevel":0}]

Когда я помещаю строку в форматер json, как в https://jsonformatter.curiousconcept.com он выходит прекрасно отформатирован, как его уже в формате json. Однако, когда я пытаюсь

for element in jsonString {
            let jsonHero = JsonHero(fromDictionary: element as! [String: AnyObject])
            testingArray.append(jsonHero)   
        }

и относиться к нему как к данным json, которые я бы получил от

json = try NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.AllowFragments) as! [[String: AnyObject]]

очевидно, что это не работает, потому что строка не имеет элементов.

Я пытался использовать расширение для преобразования моей строки в json, но это не сработало. Я новичок в программировании, поэтому я не знаю, было ли расширение плохим или это не то, что мне нужно сделать.

Как я могу заставить мою строку работать как данные json (если это то, что называется), чтобы я мог поместить ее в объекты?

1 ответ

  1. преобразование строки в NSData

    let responseData: NSData = jsonString.dataUsingEncoding(NSUTF8StringEncoding)!
    

    Сериализация NS

    var dummyJson: [[String: AnyObject]]!
            do {
                dummyJson = try NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.AllowFragments) as! [[String: AnyObject]]
            }
            catch {
                //handle error
            }