可以';t从JSON响应中获取正确的字符串


Can't get the correct string from a JSON response?

为什么我不能从JSON响应中获得正确的字符串?

从应用程序中,我进行了一次PHP调用,并返回了以下JSON数据:

{"成功":1,"session_id":"778a6a6505b785e1130c46227d44641"}

但当我在应用程序中读到它时,session_id是140407621032752。为什么?

这是我的一点代码:

let responseData:NSString  = NSString(data:urlData!, encoding:NSUTF8StringEncoding)!
NSLog("Response ==> %@", responseData);
let jsonData:NSDictionary = try NSJSONSerialization.JSONObjectWithData(urlData!, options:NSJSONReadingOptions.MutableContainers ) as! NSDictionary
                        let success:NSInteger = jsonData.valueForKey("success") as! NSInteger
let sessionId:NSString = jsonData.valueForKey("session_id") as! NSString
NSLog("Success: %ld", success)
NSLog("sessionId: %ld", sessionId)

这里是运行时的输出:

2016-05-03 14:15:06.826运行[10974:4371080]响应代码:200
2016-05-03 14:15:06.826运行[10974:4371080]响应==={"成功":1,"session_id":"778a6a6505b785e1130c46227d44641"}
2016-05-03 14:15:06.826跑〔10974:4371080〕成功:1
2016-05-03 14:15:06.826运行[10974:4371080]会话ID:140407621032752

正如你所看到的,session_id是正确的。但是我怎样才能得到它呢?

您的会话id是一个字符串,因此您必须为NSLog:使用字符串格式化程序%@

NSLog("sessionId: %@", sessionId)