Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (_NSInlineData)'
let data = /* type of data */
let dic : NSDictionary = ["ID" : "UserName", "Data" : data]
let jsonData = try? JSONSerialization.data(withJSONObject: dic, options: [])
self!.socket.write(data: jsonData!)
最佳答案
根据您的数据创建一个字符串,然后您可以发送该字符串。
func jsonToString(json: AnyObject) -> String{
do {
let data1 = try JSONSerialization.data(withJSONObject: json, options: JSONSerialization.WritingOptions.prettyPrinted)
let convertedString = String(data: data1, encoding: String.Encoding.utf8)
return convertedString!
} catch let myJSONError {
print(myJSONError)
return ""
}
}
您可以使用它:
let messageString = jsonToString(json: jsonData as AnyObject)
socket.write(string: messageString)
关于ios - WS Websocket 是否能够在 Swift 中发送或接收 json 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54812361/