ios - 在 Swift 2 中,如何将 JSON 数组转换为 [Int32]

标签 ios swift swift2 ios9

我有以下代码读取 JSON 文件,然后将其数组转换为 [Float32] 或 [Int32]

let location = NSString(string:"/Users/myname/Documents/test.js").stringByExpandingTildeInPath
let rawData = NSData(contentsOfFile: location)
let modelData = try? NSJSONSerialization.JSONObjectWithData(rawData!, options: NSJSONReadingOptions.AllowFragments)

let dict = modelData as! NSDictionary
guard let vertices = dict["vertices"] as? [Float32] else {
    print("error casting vertices")
    return
}
guard let indices = dict["faces"] as? [Int32] else {
    print("error casting indices")
    return
}

JSON文件的内容是:

{
    "vertices" : [1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9],
    "faces" : [0,1,2]
}

JSON 文件已成功加载和解析,但是,vertices[Float32] 的转换成功,而 faces 的转换[Int32] 失败。有没有办法将 faces 转换为 [Int32]

最佳答案

只需将其转换为 [Int] 而不是 [Int32]。您可以像这样检查类型

dict["faces"] is [Int]

关于ios - 在 Swift 2 中,如何将 JSON 数组转换为 [Int32],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35194592/

相关文章:

ios - 使用 AFNetworking 时指示 'Anyobject' 不是 'NSProxy' 的子类型

ios - 使用 LAContext 和 touchIDAuthenticationAllowableReuseDuration 获取钥匙串(keychain)项目

ios - 使用 Xcode 8.2 和 Swift 2.3 的 Card.io 出错

swift - NSFetchRequest - 实体 - 解包可选值时意外发现 nil

swift - 我不了解 Swift Unicode 标量基础知识。我缺少什么

ios - JSONSerialization.jsonObject 返回 nil

ios - Objective C 如何读取嵌套的 JSON

javascript - IOS Safari 上 HTML 输入的奇怪行为

ios - 如何在 Chromecast (iOS) 上切换 .mkv 文件中的音轨

ios - 在 Swift-Json 中创建 NSMutableDictionary