Почему я не могу получить правильную строку из ответа JSON?
Из приложения я делаю вызов PHP и получаю следующие данные JSON:
{«success»: 1, «session_id»: «778a6a66505b785e1130c46227d44641»}
Но когда я читаю это в приложении, 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] Response ==> {«success»: 1, «session_id»: «778a6a66505b785e1130c46227d44641»}
2016-05-03 14: 15: 06.826 пробежал [10974: 4371080] Успех: 1
2016-05-03 14: 15: 06.826 выполнено [10974: 4371080] sessionId: 140407621032752
Как вы видете session_id
идет правильно. Но как я могу получить это?
Ваш идентификатор сессии является строкой, поэтому вы должны использовать форматировщик строки %@
для NSLog:
NSLog("sessionId: %@", sessionId)
Других решений пока нет …