ios - JSON解析后结果为nil

标签 ios json swift3 xcode8

我尝试从 JSON 序列化中提取值,但结果为 nil

应用程序在 Swift2 下运行,因此问题开始于转换为 Swift 3。

let jsonResult = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary
print(jsonResult!)
let mySuccess = jsonResult?["success"] as? Int
print (mySuccess!)

print(jsonResult!) 给出以下输出

{
"full_login" = 0;
"logged_in" = 1;
message = "<null>";
success = 1;
}

到目前为止一切都很好,我的解析正在工作,我现在已经从服务器获得了数据。

但是print(mySuccess!)给出了这个输出

fatal error: unexpectedly found nil while unwrapping an Optional value

所以我理解输出说代码在展开时发现 nil,所以我现在的问题是如何提取 "Success" 键的值,因为它在 Swift 2 下表现,但现在在 Swift 3 下不是这样吗?

更新

Sneak 发现了一个可能的问题,即 success = 1 没有“”,因此我调查后将更新问题答案。

最佳答案

您好,您可以使用OPTIONAL BINDING 的概念来检查 nil 值。

let jsonResult = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary
print(jsonResult!)
if let mySuccess = jsonResult?["success"] as? Bool 
{
print (mySuccess)
}
else
{
print ("Found nil")
}

关于ios - JSON解析后结果为nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42127195/

相关文章:

ios - 尝试在 Swift 3 中保存自定义对象时尝试插入非属性列表对象

ios - 具有约束更新的 UITableViewCell 导致 UITableView 跳来跳去

objective-c - 当在键盘上按下回车键时显示一些文本

json - AppEngine Go 应用程序中的奇怪行为

ios - UIRectCorner 类型在 Swift 3 中没有成员 isRightPage

ios - MPVolumeView AirPlay 按钮未显示

ios - 每 X 小时重复一次推送通知

ios - 明文 HTTP 被阻止

javascript - 修改ajax请求中的全局变量

php - 在 Lumen 7 中验证时如何返回自定义 JSON 数组名称和其中的元素?