Ios 如何在Swift 3中解析JSON数组
我从套接字中获取了一些数据,我想访问这些数据,但每次都会收到错误消息,称无法将NSArray转换为NSDictionaryIos 如何在Swift 3中解析JSON数组,ios,json,dictionary,swift3,Ios,Json,Dictionary,Swift3,我从套接字中获取了一些数据,我想访问这些数据,但每次都会收到错误消息,称无法将NSArray转换为NSDictionary struct SocketEventHandler { let event: String let id: UUID let callback: NormalCallback func executeCallback(with items: [Any], withAck ack: Int, withSocket socket: Socket
struct SocketEventHandler {
let event: String
let id: UUID
let callback: NormalCallback
func executeCallback(with items: [Any], withAck ack: Int, withSocket socket: SocketIOClient) {
callback(items, SocketAckEmitter(socket: socket, ackNum: ack))
}
}
let onFriendRequestStatus: NormalCallback = {dataArray,socketAck in
AppLog.debug(tag: TAG, msg: "Response: \(dataArray)")
AppLog.debug(tag: TAG, msg: "Response: \(dataArray[0])")
let response = dataArray[0] as! Dictionary<String, Any> **// APP CRASHES ON THIS LINE**
}
错误-无法将“\uu NSArrayM”(0x102f0de00)类型的值强制转换为“NSDictionary”(0x102f0e2d8)。可能是因为您使用的是2d数组,这意味着
dataArray
的元素也是array
而不是Dictionary
if let response = dataArray[0] as? [[String: Any]], let dictionary = response.first {
print(dictionary["status"])
}
在句子崩溃时设置断点,然后使用以下命令检查
dataArray
的确切内容:
po print(dataArray)
po print(dataArray)