我目前坚持把我的JSON Parse变成一个字符串,这是我的代码
var SummName = "xxxxx"
var APIKEY = "xxxx-xxx-43d5-8647-xxxx"
let urlPath0 = "https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/"+SummName+"?api_key="+APIKEY
let url0 = NSURL(string: urlPath0)
let session0 = NSURLSession.sharedSession()
let task0 = session0.dataTaskWithURL(url0!, completionHandler: {data, response, error -> Void in
if (error != nil) {
println(error)
} else {
let summonorID_JSON = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
var SummonerID = summonorID_JSON["smirknaitia"] as NSDictionary
let SummID = SummonerID["id"]! as NSString
println(SummID)
let urlPath1 = "https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/"+SummID+"?api_key="+APIKEY
}
})
task0.resume()
将SummonerID [“ID”]的值展开为字符串
总是失败答案 0 :(得分:1)
let SummID = SummonerID["id"]! as NSString
有两种失败方式:
SummonerID
字典没有键“id”的值,因此当您尝试强制解包时它会失败SummonerID["id"]!
不属于NSString
类型(或者可以转换为String
的类型),因此当您尝试强制转换时它会失败。如果没有看到您输入的内容或确切的错误消息,我们无法确切地知道它是哪一个。
旁注:使用大写字符启动变量名称不是Swift风格。最好将camelCase用于变量,函数和方法;将UpperCamelCase用于类,结构,枚举和枚举案例。