ios - WS Websocket 是否能够在 Swift 中发送或接收 json 对象?

标签 ios json swift websocket

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/

相关文章:

objective-c - 从文档文件夹向Imageview添加图像未加载

iOS, View 宽度 - 越界

iphone - 在图像选择器中向图像添加文本

java - JSON 序列化对象的日期格式为 2006-10-04T19 :49:49. 无法对其进行反序列化

ios - 如何让 AVCaptureSession 和 AVPlayer 尊重 AVAudioSessionCategoryAmbient?

ios - 在 didHighlightItemAt 和 didUnhighlightItemAt 上更改 UICollectionViewCell 的背景在滚动时闪烁

ios - 在 UICollectionView 单元格中停止动画

ruby-on-rails - 如何使用数组结果在 Rails 上渲染 json ruby

javascript - 使用 JSON 填充 js 数组时出现问题

ios - FB 登录后解析 session token 无效