- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将以下响应中的“状态”转换为 Int。
{
"status": "200",
"message": "Token successfully generated.",
"data": {
"token": "abc"
}
}
当我尝试转换时,它显示错误,例如无法将类型“_SwiftValue”的值转换为“NSNumber”。
这是我在代码中尝试过的内容。
var status:Int = 0
var dict = dictTemp as! Dictionary<String,AnyObject>
if let value = dict["status"] as? String {
status = value.toInt()!
} else if let value = dict["status"] as? Int {
status = value
}
// let status = dictTemp!.value(forKey: "status") as? String ?? ""
if(status == 200)
{
errorCode = 0
error = false
}
else
{
errorCode = 1
error = true
}
它总是转到其他部分。
这里我附上了我在 JSON 数据中看到的屏幕截图。
请帮助我如何将状态转换为 Int。
最佳答案
我认为您的问题是因为您使用的是 AnyObject
而不是 Any
。您的字典必须是[String: Any]
类型。
查看此答案 here .
AnyObject is only for reference types (classes), Any is for both value and reference types.
此外,由于您将问题标记为 Swift 4,因此您应该使用 Int()
进行转换,而不是 .toInt()
。
示例:
func getStatus(jsonData: Data) -> Int {
guard
let json = try? JSONSerialization.jsonObject(with: jsonData, options: []),
let dict = json as? [String: Any],
let statusString = dict["status"] as? String,
!statusString.isEmpty,
let status = Int(statusString)
else {
return 0
}
return status
}
关于ios - 无法将类型 '_SwiftValue' 的值转换为 'NSNumber',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52905991/
我们正在试用 Parse server,之前我们从未使用过 Parse SDK。作为学习的一部分,我们尝试了 使用 Parse 登录 Facebook,效果很好。接下来我们想保存检索到的用户信息,我们
我正在尝试用从服务器获取的 JSONArray 中的数据填充我的数组,我正在使用以下代码 (swift 3 Xcode 8) 执行此操作: func parseReservationJson(_ a
为什么下面的代码会给我错误: Invalid type in JSON write (_SwiftValue). 此行抛出错误: urlRequest.httpBody = try JSONSeria
我正在尝试将以下响应中的“状态”转换为 Int。 { "status": "200", "message": "Token successfully generated.",
我在 Objective-C 上有这个方法: - (id)userInfoForSelectedIndex { if(selectedIndex . 关于objective-c - -[_Sw
在 swift 3 转换后我一直收到这个错误。 'NSInvalidArgumentException', reason: '-[_SwiftValue nsli_superitem]: unreco
将我的代码转换为 Swift 3 我发现了一个奇怪的问题。现在(2016 年 9 月 15 日)Xcode 8(公开版)出来了,转换代码后,我的应用程序无故崩溃。 自动布局有问题,日志显示如下: [_
我正在获取 JSON 字典数据并将它们附加到 [[String:Anyobject]] 变量中,但是当我尝试放入获取的“图像”数据时。作为变量中的 [String] 数组,当我尝试将数组元素打印为 [
尝试使用 NSCoder 时出现错误 Player.swift: class Player: NSObject, NSCoding { private var _playerName: Str
这个问题在这里已经有了答案: JSONSerialization Invalid type in JSON write (_SwiftValue) (10 个答案) 关闭 4 年前。 我试图用 JS
我最近刚刚更新到 Swift 3.0 语法和 XCode 8.0。 我在更新后恢复一切正常时遇到了一些麻烦,但我无法解决的一件事是在编写时数据(特别是图像)到数据库我收到以下错误: Terminati
我现在已经尝试了很多东西并且仍然得到:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“JSON 写入 (_SwiftValue) 中的类型无效” 更新:
每当我在删除或更新记录后尝试保存托管对象上下文时,都会收到“-[_SwiftValue mergeType]: unrecognized selector sent to instance”错误。例如
我正在尝试发出 Alamofire Post 请求,但我的 Codable 结构失败。 var items: [[InspectionUploadItem]?]? let params : Param
从 swift3 开始,我无法可靠地检测 nil/NSNull。在此代码段中,我得到了一个我不知道如何检测的 Optional(_SwiftValue) 值,而不是 nil。 我试过了checking
以下代码与旧的 swift 完美配合。这是字符串的扩展 func stringByConvertingHTML() -> String { let newString = replacingO
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[_SwiftValue floatValue]:无法识别的选择器发送到实例 0x17445bd80”
我已经多次看到这个问题被问到,但似乎无法弄清楚如何使用这些答案来解决我的代码中的问题。这是我当前使用的代码: if let postContent = postAlert.textFields?.fi
我刚刚将我们的项目迁移到 swift 3,但由于一个问题导致了很多崩溃: 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[_SwiftValue p
总而言之,我在使用 Firebase 驱动的应用程序时遇到了一些问题。将我的 xCode 升级到版本 8 后出现了这个问题。我对此进行了广泛的研究,并通过一些 Stackoverflow 主题试图解决
我是一名优秀的程序员,十分优秀!