NSJSONSerialization 与 Swift 2
Posted
技术标签:
【中文标题】NSJSONSerialization 与 Swift 2【英文标题】:NSJSONSerialization with Swift 2 【发布时间】:2015-09-30 13:01:39 【问题描述】:import UIKit
let url = NSURL(string: "http://example.com/test.php")
let request = NSMutableURLRequest(URL: url!)
// modify the request as necessary, if necessary
let task = NSURLSession.sharedSession().dataTaskWithRequest(request)
data, response, error in
if data == nil
print("request failed \(error)")
return
var parseError: NSError?
if let json = NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: &parseError) as? [String: String]
if let name = json["name"]
print("name = \(name)") // if everything is good, you'll see "William"
else
print("parsing error: \(parseError)")
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("raw response: \(responseString)")
task.resume()
此代码在更新到 Xcode 7 之前有效,但现在出现错误
if let json = NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: &parseError) as? [String: String]
谁能帮我把它转换成 Swift 2?
【问题讨论】:
看看我的例子:***.com/a/32187781/2227743 也检查一下....***.com/questions/32815592/nsurl-problems-in-swift/… 【参考方案1】:给你
let url = NSURL(string: "http://example.com/test.php")
let request = NSMutableURLRequest(URL: url!)
// modify the request as necessary, if necessary
let task = NSURLSession.sharedSession().dataTaskWithRequest(request)
data, response, error in
if data == nil
print("request failed \(error)")
return
do
if let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [String: String]
if let name = json["name"]
print("name = \(name)") // if everything is good, you'll see "William"
else
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("raw response: \(responseString)")
catch
print("bom bom bom error")
task.resume()
【讨论】:
谢谢你的回答,我现在只有一个问题,如果我把你的代码放到一个函数中,而不是让函数返回一个字符串,我无法让它返回名称。它可以很好地打印名称,但它永远不会让我将其放入变量中,它总是告诉我在 task.resume() 执行后变量为空,这是为什么呢? 请写一个新问题并给我链接 我在问题中将其更详细地称为“添加”。 XD 你不应该把它放在这里。这是一个不同的问题。请创建一个新的。不过,一旦我回到办公室,我会检查您更新的问题 好的,我一会儿把链接发过来。以上是关于NSJSONSerialization 与 Swift 2的主要内容,如果未能解决你的问题,请参考以下文章
NSDictionary 到 JSON 与 NSJSONSerialization 问题
NSJSONSerialization 与 C# Rest 服务
SWI Prolog与GNU Prolog - SWI下的CLP(FD)问题
NSJSONSerialization 不解析这个 JSON