SwiftyJSON 不适用于 WebSocket 消息

Posted

技术标签:

【中文标题】SwiftyJSON 不适用于 WebSocket 消息【英文标题】:SwiftyJSON not working with WebSocket message 【发布时间】:2020-08-13 00:16:00 【问题描述】:

我有一个这样的套接字响应:

"op":0,"d":"author":"id":"6699457769390473216","name":"Test","verified":false,"unixTime":1597277057132,"id":"6699465549836976128","group":"64632423765273287342","content":"Yo","_id":"5f34838198980c0023fa49e3","t":"MESSAGE"

我需要访问“d”对象,我已经尝试过

print(JSON(data)["d"])

它每次都返回null

【问题讨论】:

你能显示minimal reproducible example吗? 【参考方案1】:

如果data 是String 类型,您可能使用了错误的init 方法来初始化JSON 对象。尝试像这样使用init(parseJSON:)

let jsonString = """

    "op": 0,
    "d": 
        "author": 
            "id": "6699457769390473216",
            "name": "Test",
            "verified": false
        ,
        "unixTime": 1597277057132,
        "id": "6699465549836976128",
        "group": "64632423765273287342",
        "content": "Yo",
        "_id": "5f34838198980c0023fa49e3"
    ,
    "t": "MESSAGE"

"""
let json = JSON(parseJSON: jsonString)

print(json["d"])

【讨论】:

以上是关于SwiftyJSON 不适用于 WebSocket 消息的主要内容,如果未能解决你的问题,请参考以下文章

PHP websocket不适用于safari,标头修改

SSL WebSocket 连接不适用于 webkit 浏览器?

Springboot WebSocket TextWebSocketHandler 不适用于 json 消息

Google Container Engine (Kubernetes):Websocket (Socket.io) 不适用于多个副本

Cookie不适用于Apple设备上的WebSocket

WebSocket 不适用于 https 请求,并且它与使用 PHP 棘轮库的 http 一起正常工作