簡體   English   中英

如何將String轉換為JSON,以便我可以將其解析為對象

[英]How to convert String to JSON so I can parse it into objects

我有一個看起來像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}]

當我將字符串放入https://jsonformatter.curiousconcept.com上的json格式器中時,它的格式已經完全格式化,就像已經是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數據一樣工作(如果那叫它的名字),以便可以將其放入對象中?

將字符串轉換為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
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM