我使用SwiftyJSON从API获取JSON格式的数据。这些数据存储在一个我想转换成String的变量中。
我有以下内容:
func parseJSON() {
let path2 = NSURL(string: "https://pokeapi.co/api/v2/pokemon/5")
let jsonData2 = NSData(contentsOfURL: path2!) as NSData!
let readableJSON2 = JSON(data: jsonData2, options: NSJSONReadingOptions.MutableContainers, error: nil)
numberOfRows = readableJSON2["name"].count //maybe hardcode this in the future?
let id = readableJSON2["id"]
NSLog("\(id)")
let name = readableJSON2["name"]
NSLog("\(name)")
let weight = readableJSON2["weight"]
NSLog("\(weight)")
let height = readableJSON2["height"]
NSLog("\(height)")
idArray.append(id)
}
请注意,idArray是一个String数组:
var idArray = [String]()
NSLog("(id)")返回5.我希望这5是一个字符串,但我不知道如何。我尝试了以下方法:
var id = readableJSON2["id"].string as String!
但结果却是零..
有什么想法吗?
答案 0 :(得分:1)
您需要对值进行类型转换而不是强制将其解包为String,如下所示:
var id = String(readableJSON2["id"])
如果有效,请告诉我。