![](/img/trans.png)
[英]How can I parse JSON to convert this to an array of objects in Swift?
[英]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.