json - Swift 2.0 JSON 字符串到 JSON

标签 json swift swift2

我在 Swift 2.0 中工作,并且在 JSON 方面苦苦挣扎。我正在以 Swift.Optional<NSData> 的形式从网站中提取 JSON .我可以使用

将它转换为字符串
if let x = NSString(data: data!, encoding: NSUTF8StringEncoding){
  let y = x as String
}

我正在努力快速地将此 JSON 数据放入字典中。执行此操作的最佳方法是什么?

更新

let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
    if let z = NSJSONSerialization.JSONObjectWithData(data!, options:[]) as? [NSObject: AnyObject] {
    }

错误

  • 表达式类型不明确,没有更多上下文
  • 调用可以抛出,但是没有标记'try',错误没有被处理

最佳答案

在 Swift 2 中,如果函数“抛出”(如 NSJSONSerialization 所做的那样),您必须在 do ... catch block 中处理函数调用并使用try 在抛出函数之前,像这样:

let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
    do {
        let z = try NSJSONSerialization.JSONObjectWithData(data!, options:[]) as! [NSObject: AnyObject]
        print(z)
    } catch let myJSONError {
        print(myJSONError)
    }
}

task!.resume()

请注意,在此示例中,可能的 NSJSONSerialization 失败由 do...catchtry 处理myJSONError 错误,但未处理 NSURLSession 的可能失败:您仍然必须检查 error 变量才能处理此问题。这是因为 NSJSONSerialization“抛出”但 NSURLSession 没有。

关于json - Swift 2.0 JSON 字符串到 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31174433/

相关文章:

ios - 自定义相机纵横比

ios - UITableView 设置背景颜色

swift - 在 Swift 中返回实例类型

xcode - Swift 2.0 中如何获取另一个字符串中两个文本 block 之间的子字符串

php - 如何在循环之前按键值对 json 字符串进行排序?

Javascript 函数返回未定义的 JSON 对象(但它不是未定义的!)

ios - Swift 4-应用程序在按下启动 segue 的按钮时崩溃

swift - 如何在 Swift 函数的 return 语句之后运行代码?

javascript - 按键名查找 JSON 数组对象值

java - 如何在 servlet 中使用 JSONObject 创建多级 JSON 数据